Go语言中的switch用法实例分析
本文实例讲述了Go语言中的switch用法。分享给大家供大家参考。具体分析如下:
这里你可能已经猜到switch可能的形式了。
case体会自动终止,除非用fallthrough语句作为结尾。
packagemain
import(
"fmt"
"runtime"
)
funcmain(){
fmt.Print("Gorunson")
switchos:=runtime.GOOS;os{
case"darwin":
fmt.Println("OSX.")
case"linux":
fmt.Println("Linux.")
default:
//freebsd,openbsd,
//plan9,windows...
fmt.Printf("%s.",os)
}
}
switch的条件从上到下的执行,当匹配成功的时候停止。
(例如,
switchi{
case0:
casef():
}
当i==0时不会调用f。)
packagemain
import(
"fmt"
"time"
)
funcmain(){
fmt.Println("When'sSaturday?")
today:=time.Now().Weekday()
switchtime.Saturday{
casetoday+0:
fmt.Println("Today.")
casetoday+1:
fmt.Println("Tomorrow.")
casetoday+2:
fmt.Println("Intwodays.")
default:
fmt.Println("Toofaraway.")
}
}
没有条件的switch同switchtrue一样。
这一构造使得可以用更清晰的形式来编写长的if-then-else链。
packagemain
import(
"fmt"
"time"
)
funcmain(){
t:=time.Now()
switch{
caset.Hour()<12:
fmt.Println("Goodmorning!")
caset.Hour()<17:
fmt.Println("Goodafternoon.")
default:
fmt.Println("Goodevening.")
}
}
希望本文所述对大家的Go语言程序设计有所帮助。