A Tour of Go: Basics 3
阿新 • • 發佈:2018-10-08
容量 返回 nil cap 創建 都是 變量 code str Struct
slice只是數組的引用,因此修改slice值就是修改數組裏的值。
[]int{1,2,3}語法含義是先定義一個數組,再創建一個slice引用這個數組。
兩個容量:
用指針和用變量名引用struct裏的值,用法是一樣的。
Struct初始化語法:
type Vertex struct {
X, Y int
}
var (
v1 = Vertex{1, 2} // has type Vertex
v2 = Vertex{X: 1} // Y:0 is implicit
v3 = Vertex{} // X:0 and Y:0
p = &Vertex{1, 2} // has type *Vertex
)
Array
數據長度是固定的,在定義時指定。
Slices
Slices的概念與Python中的概念類似,是Array的子集。
[]int{1,2,3}語法含義是先定義一個數組,再創建一個slice引用這個數組。
兩個容量:
- length:當前slice的元素個數。len(s)
- capacity:當前slice從最左邊元素開始,對應在數組裏直到最後一個元素的個數。cap(s)
特殊情況:
slice的0值是nil,對應的length和capacity都是0,沒有對應的數組。
a := make([]int, 0, 5) 創建一個0值數組,然後返回一個slice。
slices of slices
append function
A Tour of Go: Basics 3