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语言程序设计有所帮助。