Go語言中的switch用法實(shí)例分析
本文實(shí)例講述了Go語言中的switch用法。分享給大家供大家參考。具體分析如下:
這里你可能已經(jīng)猜到 switch 可能的形式了。
case 體會(huì)自動(dòng)終止,除非用 fallthrough 語句作為結(jié)尾。
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。)
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 鏈。
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.")
}
}
希望本文所述對(duì)大家的Go語言程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于Go語言實(shí)現(xiàn)的簡易api網(wǎng)關(guān)的示例代碼
本文主要介紹了基于Go語言實(shí)現(xiàn)的簡易api網(wǎng)關(guān),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Go基礎(chǔ)教程系列之defer、panic和recover詳解
這篇文章主要介紹了Go基礎(chǔ)教程系列之defer、panic和recover,需要的朋友可以參考下2022-04-04MacOS中 VSCode 安裝 GO 插件失敗問題的快速解決方法
這篇文章主要介紹了MacOS中 VSCode 安裝 GO 插件失敗問題的快速解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05golang Goroutine超時(shí)控制的實(shí)現(xiàn)
日常開發(fā)中我們大概率會(huì)遇到超時(shí)控制的場景,比如一個(gè)批量耗時(shí)任務(wù)、網(wǎng)絡(luò)請(qǐng)求等,本文主要介紹了golang Goroutine超時(shí)控制的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09GoLand編譯帶有構(gòu)建標(biāo)簽的程序思路詳解
這篇文章主要介紹了GoLand編譯帶有構(gòu)建標(biāo)簽的程序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11go單體日志采集zincsearch方案實(shí)現(xiàn)
這篇文章主要為大家介紹了go單體日志采集zincsearch方案實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07一百行Golang代碼實(shí)現(xiàn)簡單并發(fā)聊天室
這篇文章主要為大家詳細(xì)介紹了一百行Golang代碼如何實(shí)現(xiàn)簡單并發(fā)聊天室,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08