华域联盟 Golang Go语言中的switch用法实例分析

Go语言中的switch用法实例分析

本文实例讲述了Go语言中的switch用法。分享给大家供大家参考。具体分析如下:

这里你可能已经猜到 switch 可能的形式了。
case 体会自动终止,除非用 fallthrough 语句作为结尾。

复制代码 代码如下: package main

import (

 "fmt"

 "runtime"

)

func main() {

 fmt.Print("Go runs on ")

 switch os := runtime.GOOS; os {

 case "darwin":

  fmt.Println("OS X.")

 case "linux":

  fmt.Println("Linux.")

 default:

  // freebsd, openbsd,

  // plan9, windows...

  fmt.Printf("%s.", os)

 }

}

switch 的条件从上到下的执行,当匹配成功的时候停止。

(例如,

switch i {
case 0:
case f():
}
当 i==0 时不会调用 f。)

复制代码 代码如下: package main

import (

 "fmt"

 "time"

)

func main() {

 fmt.Println("When's Saturday?")

 today := time.Now().Weekday()

 switch time.Saturday {

 case today+0:

  fmt.Println("Today.")

 case today+1:

  fmt.Println("Tomorrow.")

 case today+2:

  fmt.Println("In two days.")

 default:

  fmt.Println("Too far away.")

 }

}

没有条件的 switch 同 switch true 一样。

这一构造使得可以用更清晰的形式来编写长的 if-then-else 链。

复制代码 代码如下: package main

import (

 "fmt"

 "time"

)

func main() {

 t := time.Now()

 switch {

 case t.Hour() < 12:

     fmt.Println("Good morning!")

 case t.Hour() < 17:

     fmt.Println("Good afternoon.")

 default:

     fmt.Println("Good evening.")

 }

}

希望本文所述对大家的Go语言程序设计有所帮助。

本文由 华域联盟 原创撰写:华域联盟 » Go语言中的switch用法实例分析

转载请保留出处和原文链接:https://www.cnhackhy.com/109959.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们