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