golang筆記——array

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

1、定義一個 array

  數組長度也是類型的一部分,比如長度為3的int數組與長度為5的int數組,並不是同一類型。

package mainimport (    "strconv" //GO語言中將 int 轉化成 string 比較麻煩,通常使用 strconv.Itoa(i))//格式化輸出一個數組,因為不同長度的數組屬於不同類型,這裡只能用切片作為參數,調用時將數群組轉換成切片傳入即可func print_array(arr []int) {    var str string    str = "["    for k, v := range arr {        if k == len(arr)-1 {            str = str + strconv.Itoa(v)        } else {            str = str + strconv.Itoa(v) + ","        }    }    str += "]"    println(str)}func main() {    //1、指明數組長度: 初始化的元素個數應該小於等於數組長度,否則會編譯出錯,如果初始化的元素長度小於數組個數,則未初始化部分系統會自動補為預設零值    array1 := [3]int{} //相當於 [0,0,0]    print_array(array1[:])    array2 := [3]int{1, 2} //相當於 [1,2,0]    print_array(array2[:])    //arr := [3]int{1, 2, 3, 4} //初始化元素個數如果大於數組長度,則會編譯出錯    array3 := [3]int{1: 2, 2: 3} //相當於[0,2,3] ,同 struct 一樣,GO同樣支援初始化時指定key,這裡的key表示索引,未初始化的索引值為預設零值    print_array(array3[:])    //2、不指明數組長度: 數組的長度由初始化的元素決定    array4 := [...]int{1, 2, 3} //相當於 [1,2,3]    print_array(array4[:])    array5 := [...]int{1: 2, 2: 3} //相當於 [0,2,3]    print_array(array5[:])}

 

2、數組操作

  通過數組名和數組下標即可進行訪問和修改操作,通過 for .. range 可以進行遍曆操作。因為數組的長度是固定的,也沒有容量概念,所以概念和使用上都是比較簡單的。

  for ... range 可以用於 array\slice\map 的遍曆,如果對 string 進行遍曆,則預設得到的 value 值是對應字元的ASCII碼,這一點需要注意。

    //以下會輸出 97,98,99,100,    s := "abcd"    for _, v := range s {        print(v, ",")    }

 

3、數組的特性

  GO語言中的數組是實值型別,當賦值給另一個陣列變數或作為方法參數傳遞時,都會複製數組的副本。

  注意,與C語言不同,數組的名字不代表數組的第一個元素的指標,這兩種語言的數組儲存結構不同,GO語言的數組儲存結構是,首部儲存數組長度,然後後面是實際資料。

 

  

 

聯繫我們

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