陣列:同一種資料型別的固定長度序列
陣列的定義: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就...