for迴圈用於多次執行特定的代碼塊,每次都可以使用不同的值。每次迴圈執行都稱為一次迭代。for迴圈可以包含最多三個語句: 語法 ```Go for 語句1; 語句2; 語句3 { // 每次迭代要執行的代碼 } ``` - 語句1:初始化迴圈計數器的值。 - 語句2:對每次迴圈迭代進行評估。如果評估 ...
for迴圈用於多次執行特定的代碼塊,每次都可以使用不同的值。每次迴圈執行都稱為一次迭代。for迴圈可以包含最多三個語句:
語法
for 語句1; 語句2; 語句3 {
// 每次迭代要執行的代碼
}
- 語句1:初始化迴圈計數器的值。
- 語句2:對每次迴圈迭代進行評估。如果評估為TRUE,則繼續迴圈。如果評估為FALSE,則結束迴圈。
- 語句3:增加迴圈計數器的值。
註意:這些語句不需要作為迴圈的參數存在,但它們需要以某種形式出現在代碼中。
for迴圈示例
示例 1
以下示例將列印從0到4的數字:
package main
import (
"fmt"
)
func main() {
for i := 0; i < 5; i++ {
fmt.Println(i)
}
}
結果:
0
1
2
3
4
示例 2
以下示例以十進位計數到100:
package main
import (
"fmt"
)
func main() {
for i := 0; i <= 100; i += 10 {
fmt.Println(i)
}
}
結果:
0
10
20
30
40
50
60
70
80
90
100
continue語句
continue
語句用於跳過一個或多個迴圈迭代,然後繼續執行下一次迭代。
示例
以下示例跳過值為3的情況:
package main
import (
"fmt"
)
func main() {
for i := 0; i < 5; i++ {
if i == 3 {
continue
}
fmt.Println(i)
}
}
結果:
0
1
2
4
break語句
break
語句用於終止迴圈的執行。
示例
以下示例在i等於3時中斷迴圈:
package main
import (
"fmt"
)
func main() {
for i := 0; i < 5; i++ {
if i == 3 {
break
}
fmt.Println(i)
}
}
結果:
0
1
2
註意:continue
和break
通常與條件一起使用。
嵌套迴圈
可以將一個迴圈放在另一個迴圈內。
在此示例中,“內部迴圈”將在“外部迴圈”的每次迭代中執行一次:
示例
package main
import (
"fmt"
)
func main() {
adj := [2]string{"大", "美味"}
fruits := [3]string{"蘋果", "橙子", "香蕉"}
for i := 0; i < len(adj); i++ {
for j := 0; j < len(fruits); j++ {
fmt.Println(adj[i], fruits[j])
}
}
}
結果:
大 蘋果
大 橙子
大 香蕉
美味 蘋果
美味 橙子
美味 香蕉
range關鍵字
range
關鍵字用於更輕鬆地迭代數組、切片或映射。它返回索引和值。
range
關鍵字的用法如下:
語法
for 索引, 值 := 數組|切片|映射 {
// 每次迭代要執行的代碼
}
示例
以下示例使用range
來迭代數組並列印索引和每個值(idx存儲索引,val存儲值):
package main
import (
"fmt"
)
func main() {
fruits := [3]string{"蘋果", "橙子", "香蕉"}
for idx, val := range fruits {
fmt.Printf("%v\t%v\n", idx, val)
}
}
結果:
0 蘋果
1 橙子
2 香蕉
提示:要僅顯示值或索引,可以使用下劃線(_)省略其他輸出。
示例
在這裡,我們想要省略索引(idx存儲索引,val存儲值):
package main
import (
"fmt"
)
func main() {
fruits := [3]string{"蘋果", "橙子", "香蕉"}
for _, val := range fruits {
fmt.Printf("%v\n", val)
}
}
結果:
蘋果
橙子
香蕉
示例
在這裡,我們想要省略值(idx存儲索引,val存儲值):
package main
import (
"fmt"
)
func main() {
fruits := [3]string{"蘋果", "橙子", "香蕉"}
for idx, _ := range fruits {
fmt.Printf("%v\n", idx)
}
}
結果:
0
1
2
最後
為了方便其他設備和平臺的小伙伴觀看往期文章,鏈接奉上:
公眾號搜索Let us Coding
,知乎,開源中國,CSDN,思否,掘金,InfoQ,簡書,博客園,慕課,51CTO,helloworld,騰訊開發者社區,阿裡開發者社區
看完如果覺得有幫助,歡迎點贊、收藏和關註