Go里的流程控制方法還是挺豐富,整理了下有如下這么多種:
- if - else 條件語句
- switch - case 選擇語句
- for - range 循環語句
- goto 無條件跳轉語句
- defer 延遲執行
Go 里的條件語句模型是這樣的
if 條件 1 { 分支 1 } else if 條件 2 { 分支 2 } else if 條件 ... { 分支 ... } else { 分支 else }
Go編譯器,對于 { 和 } 的位置有嚴格的要求,它要求 else if (或 else)和 兩邊的花括號,必須在同一行。
由于 Go是 強類型,所以要求你條件表達式必須嚴格返回布爾型的數據(nil 和 0 和 1 都不行,具體可查看《詳解數據類型:字典與布爾類型》)。
對于這個模型,分別舉幾個例子來看一下。
2. 單分支判斷
只有一個 if ,沒有 else
import "fmt" func main() { age := 20 if age > 18 { fmt.Println("已經成年了") } }
如果條件里需要滿足多個條件,可以使用 && 和 ||
- &&:表示且,左右都需要為true,最終結果才能為 true,否則為 false
- ||:表示或,左右只要有一個為true,最終結果即為true,否則 為 false
import "fmt" func main() { age := 20 gender := "male" if (age > 18 && gender == "male") { fmt.Println("是成年男性") } }
3. 多分支判斷
if - else 語句
import "fmt" func main() { age := 20 if age > 18 { fmt.Println("已經成年了") } else { fmt.Println("還未成年") } }
if - else if - else 語句
import "fmt" func main() { age := 20 if age > 18 { fmt.Println("已經成年了") } else if age >12 { fmt.Println("已經是青少年了") } else { fmt.Println("還不是青少年") } }
4. 高級寫法
在 if 里可以允許先運行一個表達式,取得變量后,再對其進行判斷,比如第一個例子里代碼也可以寫成這樣
import "fmt" func main() { if age := 20;age > 18 { fmt.Println("已經成年了") } }
掃碼二維碼 獲取免費視頻學習資料
- 本文固定鏈接: http://www.wangchenghua.com/post/7147/
- 轉載請注明:轉載必須在正文中標注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費視頻資料
查 看2022高級編程視頻教程免費獲取