標籤:go for 文法
在Go中其他迴圈遍曆的控制語句,唯有for。而for同樣也是比較靈活的:
package main
import "fmt"
func main() {
// 最基本的一種,單一條件迴圈
// 這個可以代替其他語言的while迴圈
i := 1
for i <= 3 {
fmt.Println(i)
i = i + 1
}
// 經典的迴圈條件初始化/條件判斷/迴圈後條件變化
for j := 7; j <= 9; j++ {
fmt.Println(j)
}
// 無條件的for迴圈是死迴圈,除非你使用break跳出迴圈或者
// 使用return從函數返回
for {
fmt.Println("loop")
break
}
}
迴圈控制語句可以控制迴圈體內語句的執行過程包含:
break語句:經常用於中斷當前for迴圈或者跳出switch語句
continue語句:跳過當前迴圈的剩餘語句,然後繼續進行下一輪迴圈
goto語句:將控制轉移到被標記的語句
**********************************
如過迴圈中條件陳述式永遠不為 false 則會進行無限迴圈,我們可以通過 for 迴圈語句中只設定一個條件運算式來執行無限迴圈:
package main
import "fmt"
func main(){
for { //這裡可以寫true或者省略
fmt.Printf("這是死迴圈哦.......\n")
}
}
for 迴圈中,執行 continue 語句會觸發for增量語句的執行
package mainimport "fmt"func main() { /* 定義局部變數 */ var a int = 10 /* for 迴圈 */ for a < 20 { if a == 15 { /* 跳過此次迴圈 */ a = a + 1; continue; } fmt.Printf("a 的值為 : %d\n", a); a++; } }
Go 語言的 goto 語句可以無條件地轉移到過程中指定的行。
goto語句通常與條件陳述式配合使用。可用來實現條件轉移, 構成迴圈,跳出迴圈體等功能。
但是,在結構化程式設計中一般不主張使用goto語句, 以免造成程式流程的混亂,使理解和偵錯工具都產生困難。
package mainimport "fmt"func main() { /* 定義局部變數 */ var a int = 10 /* 迴圈 */ LOOP: for a < 20 { if a == 15 { /* 跳過迭代 */ a = a + 1 goto LOOP } fmt.Printf("a的值為 : %d\n", a) a++ } }
本文出自 “DBAspace” 部落格,請務必保留此出處http://dbaspace.blog.51cto.com/6873717/1962681
go語言for的三種形式