本文实例讲述了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,用法

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“Go语言中的switch用法实例分析”
暂无“Go语言中的switch用法实例分析”评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。