Hi,你們好,我是明哥。python
在本身學習 Golang 的這段時間裏,我寫了詳細的學習筆記放在個人我的微信公衆號 《Go編程時光》,對於 Go 語言,我也算是個初學者,所以寫的東西應該會比較適合剛接觸的同窗,若是你也是剛學習 Go 語言,不防關注一下,一塊兒學習,一塊兒成長。git
個人在線博客: http://golang.iswbm.com
個人 Github:github.com/iswbm/GolangCodingTime
Go裏的流程控制方法仍是挺豐富,整理了下有以下這麼多種:github
上一篇講了switch - case 選擇語句,今天先來說講 for 循環語句。golang
這是 for 循環的基本模型。編程
for [condition | ( init; condition; increment ) | Range] { statement(s); }
能夠看到 for 後面,能夠接三種類型的表達式。數組
但其實還有第四種微信
這個例子會打印 1 到 5 的數值。函數
a := 1 for a <= 5 { fmt.Println(a) a ++ }
輸出以下學習
1 2 3 4 5
for 後面,緊接着三個表達式,使用 ;
分隔。spa
這三個表達式,各有各的用途
這邊的例子和上面的例子,是等價的。
import "fmt" func main() { for i := 1; i <= 5; i++ { fmt.Println(i) } }
輸出以下
1 2 3 4 5
在 Go 語言中,沒有 while 循環,若是要實現無限循環,也徹底能夠 for 來實現。
當你不加任何的判斷條件時, 就至關於你每次的判斷都爲 true,程序就會一直處於運行狀態,可是通常咱們並不會讓程序處於死循環,在知足必定的條件下,可使用關鍵字 break
退出循環體,也可使用 continue
直接跳到下一循環。
下面兩種寫法都是無限循環的寫法。
for { 代碼塊 } // 等價於 for ;; { 代碼塊 }
舉個例子
import "fmt" func main() { var i int = 1 for { if i > 5 { break } fmt.Printf("hello, %d\n", i) i++ } }
輸出以下
hello, 1 hello, 2 hello, 3 hello, 4 hello, 5
遍歷一個可迭代對象,是一個很經常使用的操做。在 Go 可使用 for-range 的方式來實現。
range 後可接數組、切片,字符串等
因爲 range 會返回兩個值:索引和數據,若你後面的代碼用不到索引,須要使用 _
表示 。
import "fmt" func main() { myarr := [...]string{"world", "python", "go"} for _, item := range myarr { fmt.Printf("hello, %s\n", item) } }
輸出以下
hello, world hello, python hello, go
系列導讀
24. 超詳細解讀 Go Modules 前世此生及入門使用