流程控制
if
if true{
// 如果符合條件式就會執行這個區塊
}else{
// 反之如果沒有符合條件是的話就不會執行這個區塊
}
goto (非常邪惡的東西,就跳過吧)
沒什麼用過,也不是很清楚,但建議少用為妙。
for
在Go的世界裡沒有所謂的while和do while,所以所有的迴圈都要靠for來實現
for的三大用途:
- 遍歷array、slice和map
- 迭代操作
- 無限迴圈
for key, value := range map {
fmt.Println("map's key is ", k)
fmt.Println("map's value is ", v)
}
// 如果你今天忽略某個回傳的話可以用_代替
for _, v := range map {
//忽略key
//do something
}
//取得有序的ary
for index := 0; index < len(ary); index++{
fmt.Println(ary[index])
}
// 無窮迴圈
for true{
// do something
}
switch
控制邏輯有多重判斷時,我們有兩種選擇:
- if:不建議使用,很容易發生多重if的問題。
- switch:推薦使用,code看起來比較清爽。
switch在使用上有一些限制:
- case的資料類型必須一致
- 表達式不必是常量或整數
- case裡面不能有重複條件
switch 判斷參數 {
case :
some instructions
case expr2:
some other instructions
case expr3:
some other instructions
default:
other code
}