您好,登錄后才能下訂單哦!
這篇“go語(yǔ)言中for有哪幾種寫法”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“go語(yǔ)言中for有哪幾種寫法”文章吧。
Go 語(yǔ)言的For循環(huán)有3種寫法:1、和C語(yǔ)言for一樣的寫法,語(yǔ)法“for init; condition; post {...}”;2、和C語(yǔ)言while一樣的寫法,語(yǔ)法“for condition {...}”;3、和C語(yǔ)言for(;;)一樣的寫法,語(yǔ)法“for {...}”。需要注意,左花括號(hào)“{”必須與for關(guān)鍵字處于同一行。
與多數(shù)語(yǔ)言不同的是,Go語(yǔ)言中的循環(huán)語(yǔ)句只支持 for 關(guān)鍵字,而不支持 while 和 do-while 結(jié)構(gòu)。
for 循環(huán)是一個(gè)循環(huán)控制結(jié)構(gòu),可以執(zhí)行指定次數(shù)的循環(huán)。
Go 語(yǔ)言 for 循環(huán)的寫法
Go 語(yǔ)言的 For 循環(huán)有 3 種形式,只有其中的一種使用分號(hào)。
和 C 語(yǔ)言的 for 一樣:
for init; condition; post { }
和 C 的 while 一樣:
for condition { }
和 C 的 for(;;) 一樣:
for { }
init: 一般為賦值表達(dá)式,給控制變量賦初值;
condition: 關(guān)系表達(dá)式或邏輯表達(dá)式,循環(huán)控制條件;
post: 一般為賦值表達(dá)式,給控制變量增量或減量。
for語(yǔ)句執(zhí)行過程如下:
1、先對(duì)表達(dá)式 1 賦初值;
2、判別賦值表達(dá)式 init 是否滿足給定條件,若其值為真,滿足循環(huán)條件,則執(zhí)行循環(huán)體內(nèi)語(yǔ)句,然后執(zhí)行 post,進(jìn)入第二次循環(huán),再判別 condition;否則判斷 condition 的值為假,不滿足條件,就終止for循環(huán),執(zhí)行循環(huán)體外語(yǔ)句。
使用循環(huán)語(yǔ)句時(shí),需要注意的有以下幾點(diǎn):
左花括號(hào){
必須與 for 處于同一行。
Go語(yǔ)言中的 for 循環(huán)與C語(yǔ)言一樣,都允許在循環(huán)條件中定義和初始化變量,唯一的區(qū)別是,Go語(yǔ)言不支持以逗號(hào)為間隔的多個(gè)賦值語(yǔ)句,必須使用平行賦值的方式來初始化多個(gè)變量。
Go語(yǔ)言的 for 循環(huán)同樣支持 continue 和 break 來控制循環(huán),但是它提供了一個(gè)更高級(jí)的 break,可以選擇中斷哪一個(gè)循環(huán),如下例:
for j := 0; j < 5; j++ {
for i := 0; i < 10; i++ {
if i > 5 {
break JLoop
}
fmt.Println(i)
}
}
JLoop:
// ...
上述代碼中,break 語(yǔ)句終止的是 JLoop 標(biāo)簽處的外層循環(huán)。
Go 語(yǔ)言 for 循環(huán)的使用
for 循環(huán)的 range 格式可以對(duì) slice、map、數(shù)組、字符串等進(jìn)行迭代循環(huán)。格式如下:
for key, value := range oldMap {
newMap[key] = value
}
以上代碼中的 key 和 value 是可以省略。
如果只想讀取 key,格式如下:
for key := range oldMap
或者這樣:
for key, _ := range oldMap
如果只想讀取 value,格式如下:
for _, value := range oldMap
實(shí)例
計(jì)算 1 到 10 的數(shù)字之和:
package main
import "fmt"
func main() {
sum := 0
for i := 0; i <= 10; i++ {
sum += i
}
fmt.Println(sum)
}
輸出結(jié)果為:
55
init 和 post 參數(shù)是可選的,我們可以直接省略它,類似 While 語(yǔ)句。
以下實(shí)例在 sum 小于 10 的時(shí)候計(jì)算 sum 自相加后的值:
package main
import "fmt"
func main() {
sum := 1
for ; sum <= 10; {
sum += sum
}
fmt.Println(sum)
// 這樣寫也可以,更像 While 語(yǔ)句形式
for sum <= 10{
sum += sum
}
fmt.Println(sum)
}
輸出結(jié)果為:
16
16
以上就是關(guān)于“go語(yǔ)言中for有哪幾種寫法”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。