Go 流程控制

2022-06-29 22:27:11 字數 2009 閱讀 6159

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...