Golang學習筆記4——控制語句

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

1.基礎知識補充(指標、遞增遞減語句)

指標

go雖然保留了指標,但是與其它程式設計語言不同的是,在go當中不支援指標運算以及"->"運算子,而直接採用"." 選擇符來操作指標目標對象的成員

  • 操作符"&"取變數地址,使用"*"通過指標間接訪問目標對象
  • 預設值為nil而非null

在go中,++與--是作為語句而並不是作為運算式

a := 1a++//但不能這樣:a := a++,只能作為單獨的語句獨佔一行

2.if判斷語句

  • 條件運算式沒有括弧

  • 支援一個初始設定式(可以是並行方式)

  • 左大括弧必須和條件陳述式或else在同一行

  • 支援單行模式

  • 初始化語句中的變數為block層級,同時隱藏外部同名變數

func main(){  a := 10  if a:=1 {      fmt.Println(a)  } fmt.Println(a) }//輸出為:  1     10

3.for迴圈語句

  • go只有for一個迴圈語句關鍵字,但支援3種形式
//第一種(同其他語言的while true {}):func main() {  a := 1  for {      a++      if a > 3{          break      }  }  fmt.Println(a)}//第二種(同其他語言的:while a <= 3 {}):  func main() {  a := 1  for a <= 3 {     a++  }  fmt.Println(a)}//第三種:func main() {  a := 1  for i := 0; i <= 3; i++ {     a++  }  fmt.Println(a)}
  • 初始化和步進運算式可以是多個值

4.switch選擇語句

go語言中無須對每個case手動書寫break以阻止程式繼續向下匹配。如果要達到繼續匹配的目的可以使用關鍵字:fallthrough

func main() {  a := 1  switch a {      case 0:        fmt.Println("a=0")      case 1:        fmt.Println("a=1")  }  fmt.Println(a)}  func main() {  a := 1  switch {      case a >= 0:        fmt.Println("a=0")        fallthrough      case a >= 1:        fmt.Println("a=1")  }  fmt.Println(a)}//此時a的範圍只在switch運算式之內func main() {    switch a := 1 {      case a >= 0:        fmt.Println("a=0")        fallthrough      case a >= 1:        fmt.Println("a=1")  }  fmt.Println(a)}

5.跳躍陳述式

break、continue、goto 配合標籤使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.