5.8.for語句
阿新 • • 發佈:2020-12-24
這裡將自己學習Go及其區塊鏈的一些筆記、積累分享一下,如果涉及到了文章、文字侵權,請聯絡我刪除或調整。
形式1:for迴圈使一段程式碼被反覆執行,直到條件不再滿足為止。
for條件表示式 {
迴圈體
}
如果條件表示式的值為真,則執行迴圈體,重複以上過程,直到條件表示式的值為假,退出for迴圈,執行迴圈結構後面的語句。
注:僅包含條件的for迴圈,通常會在迴圈體內對條件的變數做修改,因此該變數是一個在for迴圈前宣告的變數,進而保證迴圈可以結束。
1. for迴圈的迴圈體程式碼有可能一次也不執行,如果第一次計算條件表示式的結果就為假。
2. 形式2:for
3. for迴圈還可以指定在迴圈開始之前執行的初始化語句,和在迴圈體執行之後執行的後續語句,它們分別居於條件表示式的左右兩側,並以分號隔開。
for初始化語句; 條件表示式; 後續語句 {
迴圈體
}
首先執行初始化語句,然後判斷條件表示式的值是否為真,若為真則執行迴圈體,迴圈體執行完以後,先執行後續語句,再重複判斷條件表示式的值是否為真,以決定是否還要繼續迴圈或退出
4. 由初始化語句所開啟的作用域,比迴圈體作用域要大,但比for迴圈所在的作用域要小,在離開for迴圈後,初始化語句中的變數宣告週期結束。
// for 初始化語句; 條件表示式; 後續語句 {
// 迴圈體
// }
//
// 先執行初始化語句,當條件滿足時執行迴圈體,執行後續語句,再次判斷
// 條件,若滿足則執行迴圈體和後續語句,如此反覆,直到條件不滿足為止
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println("i is", i)
}
}
5. 形式3:for迴圈也可以用於遍歷資料結構。藉助於range語句,可在不知道資料結構長度的條件下,依次遍歷其中的每個元素。
for迭代索引,
迴圈體
}
在迴圈的過程中,依次獲取資料結構中的每個元素,用迭代索引標識其下標,用迭代變數儲存其值,每迭代出一個元素,即執行一次迴圈體,直到將資料結構中的元素全部遍歷完為止。
// for 索引, 元素 := range 集合 {
// 迴圈體
// }
//
// 遍歷集合中的每一個元素,每遍歷一個元素,執行一遍迴圈體
package main
import "fmt"
func main() {
numbers := []int{2, 3, 5, 7, 11, 13, 17, 19, 21, 23}// 整型切片
for i, number := range numbers {
fmt.Printf("[%v] %v\n", i, number)
}
}
//結果[0] 2
[1] 3
[2] 5
[3] 7
[4] 11
[5] 13
[6] 17
[7] 19
[8] 21
[9] 23