Go基礎學習三

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

Go程式設計語言:支援並發、記憶體回收的編譯型系統級程式設計語言!本文主要是按照無聞的《Go 編程基礎》開源視頻學習並記錄筆記。

一、數組Array

  • 定義數組的格式:var<varName>[n]<type> (n>=0, n表示數組元素個數)
  • 數組長度也是類型的一部分,因此具有不同長度的數組為不同類型
  • 注意區分指向數組的指標指標數組
  • 數組在Go中為實值型別
  • 數組之間可以使用==或!=進行比較,但不可以使用< 或 >
  • 可以使用new來建立數組,此方法返回一個指向數組的指標
  • Go支援多維陣列

樣本:

package mainimport "fmt"  func main() {  // var a [2]int    a := [2]int{1,2}        fmt.Println(a)}

列印結果:

[1 2]

new 建立資料

 // var a [2]int    a := [10]int{}    a[1] = 2    fmt.Println(a)    p := new([10]int)    p[1] = 2    fmt.Println(p)

列印結果:

➜  run arr.go[0 2 0 0 0 0 0 0 0 0]&[0 2 0 0 0 0 0 0 0 0]

看一下,上邊有什麼不同嗎?第二行結果帶了一個地址符&

多維陣列

a := [2][3]int{      {1, 2, 3},      {4, 5, 6}}  fmt.Println(a)

列印結果:

[[1 2 3] [4 5 6]]

冒泡排序法:

package mainimport "fmt"  // 冒泡排序func main() {   // ...可以表示不確定的元素數  a := [...]int{1, 4, 9, 2, 5, 0, 20, 13, 3}  fmt.Println(a)  // 計算數組的長度  num := len(a)  for i := 0; i < num; i++ {      // 外邊的迴圈,每迴圈一次,會將最大的值排在前邊      for j := i + 1; j < num; j++ {          if a[i] < a[j] {              temp := a[i]              a[i] = a[j]              a[j] = temp          }      }  }    fmt.Println(a)}

聯繫我們

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