Go的陣列和切片使用細節

2021-10-12 08:43:36 字數 997 閱讀 6088

arr :=[4

]int

fmt.

println

("arr len is"

,len

(arr)

)// arr len is 4

// 檢視陣列arr的容量

fmt.

println

("arr cap is"

,cap

(arr)

)// arr cap is 4

通過len和cap的值可以看出,陣列是不可變的

package main

import

"fmt"

func

main()

fmt.

println

(names)

// [john paul george ringo]

a := names[0:

2]b := names[1:

3]fmt.

println

(a, b)

// [john paul] [paul george]

b[0]=

"***"

fmt.

println

(a, b)

// [john ***] [*** george]

fmt.

println

(names)

// [john *** george ringo]

}

更改切片的元素會修改其底層陣列中對應的元素;

與它共享底層陣列的切片也會被修改。

package main

import

"fmt"

func

main()

func

printslice

(s string

, x [

]int

)

Go 陣列和切片

陣列擷取 a 開始索引位置,結束索引 切片 slice 是本身並非動態陣列和陣列指標,通過內部指標指向底層陣列。建立乙個length和capacity都等於5的slice slice make int,5 length 3,capacity 5的slice slice make int,3,5 建立...

Go 陣列 和 切片(array slice)

與其他大多數語言類似,go語言的陣列也是乙個元素型別相同的定長的序列。陣列有 3 種建立方式 1 length type 2 length type 3 type 如下 func test5 arr3 5 int32 arr4 5 int32 arr5 int32 arr6 4 4 int32,fm...

go語言 陣列和切片

目錄切片 var variable name size variable type 預設值為0eg var ss 10 int var s1 5 int方法一 for i 0 i len arry i 方法二 for index,value range array 儲存了三個一維陣列,每個一位陣列長...