golang 的 for 循環(huán)是唯一循環(huán)結(jié)構(gòu),但形式靈活。1. 傳統(tǒng)三段式 for 適合精確控制循環(huán)變量,如遍歷數(shù)組、實(shí)現(xiàn)計數(shù)器;2. range 關(guān)鍵字用于簡潔安全地遍歷集合,適用于數(shù)組、切片、map、字符串等;3. 帶條件判斷的 for 類似 while 循環(huán),適合邏輯控制;4. 無限循環(huán)配合 break 使用,適合監(jiān)聽或定時任務(wù)。選擇上,簡單遍歷優(yōu)先 range,需控制步進(jìn)用傳統(tǒng) for,不確定次數(shù)則用條件或無限循環(huán)。
Golang 的
for
for
range
Go 支持經(jīng)典的三段式
for
for 初始化; 條件判斷; 步進(jìn) { // 循環(huán)體 }
這種方式適合需要精確控制循環(huán)變量的場景。例如:
立即學(xué)習(xí)“go語言免費(fèi)學(xué)習(xí)筆記(深入)”;
for i := 0; i < 5; i++ { fmt.Println(i) }
適用場景:
優(yōu)點(diǎn): 靈活,控制力強(qiáng)
缺點(diǎn): 寫起來略顯繁瑣,容易出錯(比如越界、死循環(huán))
Go 引入了
range
for index, value := range collection { // 使用 index 和 value }
示例:
nums := []int{1, 2, 3, 4, 5} for i, v := range nums { fmt.Printf("索引:%d,值:%d\n", i, v) }
如果你不需要索引,可以忽略它:
標(biāo)書對比王是一款標(biāo)書查重工具,支持多份投標(biāo)文件兩兩相互比對,重復(fù)內(nèi)容高亮標(biāo)記,可快速定位重復(fù)內(nèi)容原文所在位置,并可導(dǎo)出比對報告。
for _, v := range nums { fmt.Println(v) }
或者只取索引:
for i := range nums { fmt.Println(i) }
適用場景:
優(yōu)點(diǎn): 安全、不易越界,代碼更清晰
缺點(diǎn): 無法直接控制步進(jìn),不適用于復(fù)雜控制邏輯
除了上述兩種常見寫法,Go 的
for
i := 0 for i < 10 { fmt.Println(i) i++ }
這類似于
while
for { // 執(zhí)行任務(wù) }
通常配合
break
range
for
for
基本上就這些用法,看起來不多,但組合起來非常實(shí)用。
以上就是Golang的for循環(huán)有幾種使用方式 對比傳統(tǒng)for與range迭代語法的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺進(jìn)程會占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號