首頁 > 後端開發 > Golang > 主體

go語言中for的寫法有哪些

青灯夜游
發布: 2023-01-18 14:50:35
原創
1586 人瀏覽過

Go 語言的For循環有3種寫法:1、和C語言for一樣的寫法,語法「for init; condition; post {...}」;2、和C語言while一樣的寫法,語法「for condition {...}」;3、和C語言for(;;)一樣的寫法,語法「for {...}」。需要注意,左花括號「{」必須與for關鍵字處於同一行。

go語言中for的寫法有哪些

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

與多數語言不同的是,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視頻教程程式設計教學

以上是go語言中for的寫法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板