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