溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

GO語言數(shù)組

發(fā)布時間:2020-07-20 23:15:37 來源:網(wǎng)絡(luò) 閱讀:375 作者:DBAspace 欄目:編程語言

GO語言數(shù)組:     

數(shù)組是Go語言編程中最常用的數(shù)據(jù)結(jié)構(gòu)之一。顧名思義,數(shù)組就是指一系列同一類型數(shù)據(jù)的集合。數(shù)組中包含的每個數(shù)據(jù)被稱為數(shù)組元素(element),一個數(shù)組包含的元素個數(shù)被稱為數(shù)組的長度。

        在Go語言中數(shù)組是一個值類型(value type)。是真真實實的數(shù)組,而不是一個指向數(shù)組內(nèi)存起始位置的指針,也不能和同類型的指針進(jìn)行轉(zhuǎn)化,這一點嚴(yán)重不同于C語言。所有的值類型變量在賦值和作為參數(shù)傳遞時都將產(chǎn)生一次復(fù)制動作。如果將數(shù)組作為函數(shù)的參數(shù)類型,則在函數(shù)調(diào)用時該參數(shù)將發(fā)生數(shù)據(jù)復(fù)制。因此,在函數(shù)體中無法修改傳入的數(shù)組的內(nèi)容,因為函數(shù)內(nèi)操作的只是所傳入數(shù)組的一個副本

數(shù)組的定義方式:

1、[length]Type 2、[N]Type{value1, value2, ... , valueN} 3、[...]Type{value1, value2, ... , 

egg:數(shù)組操作定義.......

package main
import "fmt"
func main() {
    //******第一種創(chuàng)建數(shù)組
    //聲明一個數(shù)組并賦值
    var a [3]int = [3]int{1, 2, 3}
    fmt.Println(a)
    //等價的賦值
    b := [3]int{1}
    fmt.Println(b)
    //***定義一個空的數(shù)組
    var c [5]int
    fmt.Println(c)
    //***定義一個省略長度采用"..."的方式,GO自動根據(jù)元素個數(shù)來計算長度
    d := [...]int{1, 2, 3, 4, 5, 6, 7}
    fmt.Println(d)
    //進(jìn)階定義,對第9個元素(下標(biāo)為8)賦值1,其他同理
    e := [...]int{8: 1}
    fmt.Println(e)
    //數(shù)組的元素是指針,f數(shù)組的元素是指向int的指針
    aa := 1
    bb := 2
    f := [...]*int{&aa, &bb}
    fmt.Println(f)
    //指向數(shù)組的指針
    g := [5]int{1, 2, 3, 4, 5}
    //k是一個指向數(shù)組的指針
    var k *[5]int = &g
    fmt.Println(k)
    //數(shù)組的比較
    a1 := [2]int{1, 2}
    a2 := [2]int{1, 2}
    fmt.Println(a1 == a2)
    //通過new返回一個指向數(shù)組的指針,做賦值操作
    l := new([2]int)
    fmt.Println(l)
    l[0], l[1] = 11, 22
    fmt.Println(l)
    //多維數(shù)組,二行二列
    m := [2][2]int{{1, 2}, {3, 4}}
    fmt.Println(m)
    //自動計算多維數(shù)組,必須是頂級
    n := [...][2]int{{1, 2}, {3, 4}, {5, 6}}
    fmt.Println(n)
}


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI