go語言中最常用的流程控制有 if 和 for,而switch 和 goto主要是為了簡化**。
if條件判斷基本寫法
go語言中 if 條件判斷的格式如下:
if表示式1
else
if表示式2
else
案例:
func ifdemo1()else
if score > 75
else
}
if條件判斷還有一種特殊的寫法,可以在if表示式之前新增乙個執行語句,再根據變數值進行判斷,舉個例子:
func ifdemo2()else
if score > 75
else
}
go語言中的所有迴圈型別均可以使用 for 關鍵字來完成。
for迴圈的基本格式如下:
for初始語句;條件表示式;結束語句
條件表示式返回 true 時迴圈體不停地進行迴圈,直到條件表示式返回 false 時自動退出迴圈。
func fordemo()}
for迴圈的初始語句可以被忽略 但是初始語句後的分號必須要寫
func fordemo()}
for迴圈的初始語句和結束語句都可以省略
func fordemo()}
for
for迴圈可以通過 break,goto, return,panic 語句強制退出迴圈。
go語言中可以使用 for range 遍歷陣列,切片,字串,map及通道(channel)。通過 for range 遍歷的返回值有以下規律:
陣列,切片,字串返回索引和值
map返回鍵和值
通道(channel)只返回通道內的值
todo:...........
goto 語句通過標籤進行**間的無條件跳轉。goto語句可以在快速跳出迴圈,避免重複退出上有一定的幫助。go語言中使用
goto 語句能簡化一些**的實現過程。例如雙層巢狀的for迴圈要退出時:
在其他語言中 我們經常會使用標誌位退出,例如:
func gotodemo1()fmt.printf(
"%v-%v\n
", i, j)
}//外層for迴圈判斷
ifbreakflag
}}
使用 goto 語句能簡化**:
func gotodemo2()fmt.printf(
"%v-%v\n
", i, j)}}
return
//標籤
breaktag:
fmt.println(
"結束for迴圈")
}
break語句可以結束 for,switch 和 select 的**塊
break語句還可以在語句後面新增標籤,表示退出某個標籤對應的**塊,標籤要求必須定義在對應的for,switch和select的**塊
上。舉個例子:
func breakdemo1()fmt.printf(
"%v-%v\n
", i, j)}}
fmt.println(
"...")
}
continue
語句可以結束當前迴圈,開始下一次的迴圈迭代過程,僅限在for
迴圈內使用。
在continue
語句後新增標籤時,表示開始標籤對應的迴圈。例如:
func continuedemo()fmt.printf(
"%v-%v\n
", i, j)}}
}
go流程控制
用於測試條件是否成立,成立則執行if括起來的 if condition 複製 如果需要在條件不滿足時執行,則只需要加上else即可 if condition else 複製 如果存在多個條件,可以使用else if增加新的判斷 if condition1 else if condition2 els...
go流程控制
1 if語句 1 if ture else 2if a 44 a 23else 2 switchswitch 語句用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。golang switch 分支表示式可以是任意型別,不限於常量。可省略 break,預設...
go流程控制
go語言僅有兩種流程控制語法,不存在while if age 18else if age 7else 標準迴圈 標準迴圈,結束後變數不存在 for i 0 i 10 i 迴圈外定義,結束迴圈後,變數仍存在 var i 0for i 10 i 將累加數值置於迴圈體中 for i 10 閉迴圈 forr...