AdSense

網頁

2021/6/13

Golang for迴圈基本語法

Go語言for迴圈的基本寫法如下。


Go的for迴圈寫法類似C或Java,差別在於初始敘述,迴圈條件,迴圈後敘述不用小括弧包起:

  • 初始敘述(InitStmt):迴圈開始時僅執行一次。
  • 迴圈條件(Condition):條件判斷式,true迴圈繼續;false迴圈結束。
  • 迴圈後敘述(PostStmt):每次迴圈結束會執行一次。
for 初始敘述; 迴圈條件; 迴圈後敘述 {
    ...
}

下面是一個Go的簡單for迴圈。初始敘述設i初值為0;迴圈條件為i小於5繼續迴圈,反之離開迴圈;每跑一次迴圈後i加1。

main.go

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
}

執行印出0-4。

0
1
2
3
4

比較Java的for迴圈

Main.java

public class Main {
    public void static main(String[] args) {
    
        for(int i = 0; i < 5; i++) { // Java for loop
            System.out.println(i);
        }
        
    }
}


for迴圈的初始敘述及迴圈後敘述為選填,只有迴圈條件必填。

main.go

package main

import "fmt"

func main() {
    i := 0
    for ;i < 5; { // 迴圈條件式必填
        fmt.Println(i)
        i++
    }
}

只有迴圈條件則前後的分號;可以省略如下,此即相當於其他語言的while迴圈。

main.go

package main

import "fmt"

func main() {
    i := 0
    for i < 5 { // 迴圈條件式必填,省略分號
        fmt.Println(i)
        i++
    }
}

比較Java的while迴圈如下。

Main.java

public class Main {
    public void static main(String[] args) {
    
        int i = 0;
        while(i < 5) { // Java while loop
            System.out.println(i);
            i++;
        }
        
    }
}

而Go無窮迴圈的寫法如下。如果執行了無窮迴圈在命令列可按Ctrl + C結束程式。

main.go

package main

func main() {
    for { // infinit loop
    }
}


沒有留言:

AdSense