注册 登录
  • 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!

Go语言中的switch用法示范

go 水墨上仙 3394次浏览 已收录 手机上查看

你可能已经猜到 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&nbsp的条件从上到下的执行,当匹配成功的时候停止。

(例如,

switch&nbspi&nbsp{
case&nbsp0:
case&nbspf():
}
当&nbspi==0&nbsp时不会调用&nbspf。)

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.")
    }
}

没有条件的&nbspswitch&nbsp同&nbspswitch&nbsptrue&nbsp一样。

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

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语言中的switch用法示范
喜欢 (0)
[开心洋葱]
分享 (0)
水墨上仙
关于作者:
水墨上仙
加载中……