首頁>Club>
3
回覆列表
  • 1 # Go語言中文網

    Golang 的 for 語句和其他語言的有相同的地方,也有不一樣的地方。它存在如下三種基本形式:

    for 的幾種形式

    // 和 C 語言的 for 類似

    for init; condition; post { }

    // 和 C 語言的 while 類似,所以,Go 中沒有 while /do while

    for condition { }

    // 和 C 語言的 for(;;) 或 while(true) 類似,用於死迴圈

    for { }

    for .. range ..

    除此之外,Go 還有類似一些語言中的 foreach 迴圈:for ... range ... 此時,range 後面只能是:array、slice、map 或 channel

    for .. range .. 它也有幾種形式

    1. 對於 array、slice 和 map 來說,for 後面可以接收 1 個或 2 個值,第一個值是 索引或 key,第二個值是 value,我們可以只需要第一個值,如:

    for i := range slice {}

    或只需要第二個值:

    for _, v := range slice {}

    2. 如果 range 後面是 channel,則 for 後面只接收一個值,如:

    for c := range ch {}

    3. 還有一種是 Go 後面版本加的,即 for 後面可以不接受任何值,只是用來迴圈,如:

    for range slice {}

    Go 的語法變遷,可以看看此文:Go1到Go1.10的語法變遷 https://mp.weixin.qq.com/s/dRHLdt7_IfPmhGf_8jD9vQ

  • 中秋節和大豐收的關聯?
  • “穀子倒返打上擔,麥子倒返連鍋爛”這句農諺有沒有科學道理?