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
}
}
沒有留言:
張貼留言