go語言流程控制,if判斷,for迴圈

2021-10-06 15:48:25 字數 3667 閱讀 8277

流程控制是每種程式語言控制邏輯走向和執行次序的重要部分,流程控制可以說是一門語言的「經脈」。

go語言中最常用的流程控制有iffor,而switchgoto主要是為了簡化**、降低重複**而生的結構,屬於擴充套件類的流程控制。

go語言中if條件判斷的格式如下:

if 表示式1

else

if 表示式2

else

當表示式1的結果為true時,執行分支1,否則判斷表示式2,如果滿足則執行分支2,都不滿足時,則執行分支3。 if判斷中的else ifelse都是可選的,可以根據實際需要進行選擇。

go語言規定與if匹配的左括號

else

if score >

75else

}if條件判斷還有一種特殊的寫法,可以在 if 表示式之前新增乙個執行語句,再根據變數值進行判斷,舉個例子:

func

ifdemo2()

else

if score >

75else

}

go 語言中的所有迴圈型別均可以使用for關鍵字來完成。(只有for迴圈,沒有while等其他迴圈)

for迴圈的基本格式如下:

for 初始語句;條件表示式;結束語句
條件表示式返回true時迴圈體不停地進行迴圈,直到條件表示式返回false時自動退出迴圈。

func

fordemo()

}

for迴圈的初始語句可以被忽略,但是初始語句後的分號必須要寫,例如:

func

fordemo2()

}

for迴圈的初始語句和結束語句都可以省略,例如:

func

fordemo3()

}

這種寫法類似於其他程式語言中的while,在while後新增乙個條件表示式,滿足條件表示式時持續迴圈,否則結束迴圈。

for

for迴圈可以通過breakgotoreturnpanic語句強制退出迴圈。

go語言中可以使用for range遍歷陣列、切片、字串、map 及通道(channel)。 通過for range遍歷的返回值有以下規律:

陣列、切片、字串返回索引和值。

map返回鍵和值。

通道(channel)只返回通道內的值。

package main

import

"fmt"

func

main()

}

輸出內容:(乙個中文佔3個位元組)

0

, r1

, y2

, a3

, n4

, 是7

, 個10

, 大13

, 帥16

, 哥

package main

import

"fmt"

func

main()

}}

使用switch語句可方便地對大量的值進行條件判斷。

func

switchdemo1()

}

go語言規定每個switch只能有乙個default分支。

乙個分支可以有多個值,多個case值中間使用英文逗號分隔。

func

testswitch3()

}

分支還可以使用表示式,這時候switch語句後面不需要再跟判斷變數。例如:

func

switchdemo4()

}

fallthrough語法可以執行滿足條件的case的下乙個case,是為了相容c語言中的case設計的。(基本上不用)

func

switchdemo5()

}

輸出:

a

b

goto語句通過標籤進行**間的無條件跳轉。goto語句可以在快速跳出迴圈、避免重複退出上有一定的幫助。go語言中使用goto語句能簡化一些**的實現過程。 (break只能推出一層迴圈)例如雙層巢狀的for迴圈要退出時:

func

gotodemo1()

fmt.

printf

("%v-%v\n"

, i, j)

}// 外層for迴圈判斷

if breakflag

}}

使用goto語句能簡化**(實現跳出多層for迴圈):

func

gotodemo2()

fmt.

printf

("%v-%v\n"

, i, j)}}

return

// 標籤

breaktag:

fmt.

println

("結束for迴圈"

)}

break語句可以結束forswitchselect的**塊。

break語句還可以在語句後面新增標籤,表示退出某個標籤對應的**塊,標籤要求必須定義在對應的forswitchselect的**塊上。 舉個例子:

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 else分支判斷 if condition1 if condition1 else if condition1 else if condition2 else if condition3 else 練習 package main import fmt func main else 練習 寫乙個...

Go語言流程控制(六)

go語言的流程控制主要有if for和switch。go語言的if判斷 func main else if score 80 else 需要注意的兩點 1.表示式不可以使用 2.起始花括號必須緊跟表示式後面,不可以另起一行 除此之外,if 判斷寫法還有另一種寫法 func main else if ...

go流程控制

用於測試條件是否成立,成立則執行if括起來的 if condition 複製 如果需要在條件不滿足時執行,則只需要加上else即可 if condition else 複製 如果存在多個條件,可以使用else if增加新的判斷 if condition1 else if condition2 els...