go語言for的三種形式

來源:互聯網
上載者:User

標籤: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的三種形式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.