golang陣列,切片

2021-08-29 01:25:30 字數 1268 閱讀 4211

陣列:同一種資料型別的固定長度序列

陣列的定義:var a [len]int ,比如 var a[5]int

長度是陣列型別的一部分,因此,var a [5]int 和 var a [10]int 是不同的型別

陣列的初始化

func chushi()

var age1 = [5]int

var age2 = [...]int

var str = [5]string //指定陣列的第三個和第四個元素

只對指定元素的初始化,其餘未初始化的預設為空

fmt.println(age0)

fmt.println(age1)

fmt.println(age2)

fmt.println(str)

}

多維陣列

func duowei(),,}

//遍歷多維陣列

for _,v:= range a

fmt.printf("\n")

}}

切片:切片是陣列的乙個引用,因此切片是引用型別的

切片的長度是可變的,因此切片是乙個可變的陣列

切片的遍歷方式和陣列一樣,可以用len()求長度

cap可以求出slice的最大容量,0 <= len(slice) <= cap(array),其中array是slice引用的陣列

切片的定義:var 變數名 型別,比如 var str string var arr int

可以看出切片的定義跟陣列不同的就是沒指定長度。

func silce()

b := a[1:5]

fmt.println(b)

var c = int

var d = int

fmt.println(c)

//切片的拷貝,內建函式copy

s1 :=int

s2 := make(int,10)

copy(s2,s1)

fmt.printf("s2:%d\n",s2)

}

字串與byte陣列

unc testmodifystring ()
用slice非遞迴的實現fibonacci數列

func fibo(n int) 

for _,v := range a

}

golang 陣列和切片

陣列和切片的建立func main output 1 0 ps 陣列宣告時,所有元素預設值都是0。一般很少這樣做,盡量自己初始化。func main output panic runtime error index out of range goroutine 1 running main.main...

GoLang 陣列與切片

陣列是具有相同唯一型別的一組已編號且長度固定的資料項序列 這是一種同構的資料結構 這種型別可以是任意的原始型別例如整型 字串或者自定義型別。陣列長度必須是乙個常量表示式,並且必須是乙個非負整數。陣列長度也是陣列型別的一部分,所以 5 int和 10 int是屬於不同型別的。一維陣列宣告以及初始化常見...

Golang 之陣列 切片

陣列在使用前必須宣告長度,在golang中,陣列屬於值型別,在函式傳遞中,實際傳遞的是陣列的拷貝並不是陣列指標拷貝 是一種引用型別,它是不定長的,指向底層陣列 slice底層結構 type sliceheader struct 1.如果切片的容量小於1024個元素,那麼擴容的時候slice的cap就...