GoLang學習控制語句之for

2022-03-28 02:38:10 字數 1411 閱讀 5974

go語言只有for迴圈這一種迴圈結構,go語言中的for迴圈語句的三個部分不需要用括號括起來,但迴圈體必須用 括起來。基本的for迴圈包含三個由分號分開的組成部分:

初始化語句一般是乙個短變數宣告,這裡宣告的變數僅在整個 for 迴圈語句可見。如果條件表示式的值變為 false,那麼迭代將終止。

基於計數器的迭代,基本形式為:

for 初始化語句; 條件語句; 修飾語句
我們用for迴圈來計算100以內正整數的和。

package main

import "fmt"

func main()

fmt.println(sum)

}

由花括號括起來的**塊會被重複執行已知次數,該次數是根據計數器(此例為 i)決定的。迴圈開始前,會執行且僅會執行一次初始化語句 i := 1;,這比在迴圈之前宣告更為簡短。緊接著的是條件語句 i < 100;,在每次迴圈開始前都會進行判斷,一旦判斷結果為 false,則退出迴圈體。最後一部分為修飾語句 i++,一般用於增加或減少計數器。

這三部分組成的迴圈的頭部,它們之間使用分號 ; 相隔,但並不需要括號 () 將它們括起來。例如:

for (i = 0; i < 10; i++)  //非法**!
和if-else語句類似,for迴圈中左花括號 時便終止

for 迴圈的第二種形式是沒有頭部的條件判斷(類似其它語言中的 while 迴圈),基本形式為:

for 條件語句 {}
也可以認為這是沒有初始化語句和修飾語句的 for 結構,因此 ;;便是多餘的了。我們來寫乙個基於條件判斷的簡單for迴圈,示例**如下:

package main

import "fmt"

func main()

}

提到for迴圈,我們必須再提一下range()這個內建函式,這是 go 語言特有的一種的迭代結構,它一般用來遍歷陣列,slice和map等集合。我們用range來遍歷乙個陣列,以下**會列印出每個值的序號和對應的值。

package main

import(

"fmt"

)func main()

for i, v := range arr

}

go 語言有以下幾種無限迴圈:

i:=0; ; i++   

for

for ;;

for true

這些無限迴圈都是 for 迴圈的條件語句被省略了。如果 for 迴圈的頭部沒有條件語句,那麼就會認為條件永遠為 true。因此如果不想造成死迴圈,迴圈體內必須有相關的條件判斷以確保會在某個時刻退出迴圈。

GoLang學習控制語句之if else

if 是用於測試某個條件 布林型或邏輯型 的語句,如果該條件成立,則會執行 if 後由大括號括起來的 塊,否則就忽略該 塊繼續執行後續的 if condition如果存在第二個分支,則可以在上面 的基礎上新增 else 關鍵字以及另一 塊,這個 塊中的 只有在條件不滿足時才會執行。if 和 else...

Golang學習筆記4 控制語句

1.基礎知識補充 指標 遞增遞減語句 指標 go雖然保留了指標,但是與其它程式語言不同的是,在go當中不支援指標運算以及 運算子,而直接採用 選擇符來操作指標目標物件的成員 在go中,與 是作為語句而並不是作為表示式 a 1 a 但不能這樣 a a 只能作為單獨的語句獨佔一行2.if判斷語句func...

Lua學習之8 控制語句

控制結構的條件表示式結果可以是任何值,lua認為false和nil為假,其他值為真。if conditions then then part end if conditions then then part else else part end if conditions then then par...