溫馨提示×

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

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

Go中數(shù)組的使用

發(fā)布時(shí)間:2020-06-28 10:47:38 來(lái)源:網(wǎng)絡(luò) 閱讀:758 作者:ck_god 欄目:編程語(yǔ)言
// code_012_array_element project main.go
package main

import (
    "fmt"
)

func modify(array [5]int) {
    array[0] = 10
    fmt.Println("In modify(), array values:", array)
}

func modify01(array01 *[5]int) {
    (*array01)[0] = 10
    fmt.Println("In modify(), array01 values:", *array01)
}

func main() {
    //  var n int = 10
    //  var a[n]int //數(shù)組長(zhǎng)度不能為變量
    var a [10]int //ok

    for i, v := range a {
        fmt.Println("a[", i, "]=", v)
    }
    fmt.Println("================================")

    //內(nèi)置函數(shù)len長(zhǎng)度和cap容量
    z := [10]int{}
    fmt.Println(len(z), cap(z))
    fmt.Println("================================")

    //初始化
    b := [3]int{1, 2} //未初始化的元素值為0
    c := [...]int{1, 2, 3, 4}
    d := [5]int{2: 100, 4: 200}
    fmt.Println(b, c, d)
    fmt.Println("================================")

    //支持多維數(shù)組
    e := [4][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}}
    f := [...][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}} //第二維不能寫(xiě)...
    g := [4][2]int{1: {20, 21}, 3: {40, 41}}
    h := [4][2]int{1: {0, 20}, 3: {1: 41}}
    fmt.Println(e, f, g, h) //相同類(lèi)型的數(shù)組之間可以使用 == 或 != 進(jìn)行比較,但不可以使用 < 或 >,也可以相互賦值

    fmt.Println("================================")
    //函數(shù)間傳遞數(shù)組
    //在函數(shù)之間傳遞變量的時(shí)候,總是以值的方式傳遞的。
    //如果這個(gè)變量是一個(gè)數(shù)組,意味著整個(gè)數(shù)組,不管有多長(zhǎng),都會(huì)完整復(fù)制,并傳遞給函數(shù)。
    array := [5]int{1, 2, 3, 4, 5}
    modify(array)
    fmt.Println("In main(), array values:", array)

    //數(shù)組指針做函數(shù)參數(shù):
    array01 := [5]int{1, 2, 3, 4, 5} // 定義并初始化一個(gè)數(shù)組
    modify01(&array01)               // 數(shù)組指針
    //In main(), array values: [10 2 3 4 5]
    fmt.Println("In main(), array01 values:", array01)
}

執(zhí)行結(jié)果如下:

a[ 0 ]= 0
a[ 1 ]= 0
a[ 2 ]= 0
a[ 3 ]= 0
a[ 4 ]= 0
a[ 5 ]= 0
a[ 6 ]= 0
a[ 7 ]= 0
a[ 8 ]= 0
a[ 9 ]= 0
================================
10 10
================================
[1 2 0] [1 2 3 4] [0 0 100 0 200]
================================
[[10 11] [20 21] [30 31] [40 41]] [[10 11] [20 21] [30 31] [40 41]] [[0 0] [20 21] [0 0] [40 41]] [[0 0] [0 20] [0 0] [0 41]]
================================
In modify(), array values: [10 2 3 4 5]
In main(), array values: [1 2 3 4 5]
In modify(), array01 values: [10 2 3 4 5]
In main(), array01 values: [10 2 3 4 5]
向AI問(wèn)一下細(xì)節(jié)

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

AI