本文實(shí)例講述了Go語言中的switch用法。分享給大家供大家參考。具體分析如下:
這里你可能已經(jīng)猜到 switch 可能的形式了。
case 體會(huì)自動(dòng)終止,除非用 fallthrough 語句作為結(jié)尾。
復(fù)制代碼 代碼如下:
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 的條件從上到下的執(zhí)行,當(dāng)匹配成功的時(shí)候停止。
(例如,
switch i {
case 0:
case f():
}
當(dāng) i==0 時(shí)不會(huì)調(diào)用 f。)
復(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 一樣。
這一構(gòu)造使得可以用更清晰的形式來編寫長的 if-then-else 鏈。
復(fù)制代碼 代碼如下:
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語言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Go語言中的if條件語句使用詳解
- golang switch語句的靈活寫法介紹
- Go語言每天必學(xué)之switch語句
- Golang中switch語句和select語句的用法教程
- 深入剖析Go語言編程中switch語句的使用
- Go中的條件語句Switch示例詳解