1. 程式人生 > >A Tour of Go: Basics 3

A Tour of Go: Basics 3

容量 返回 nil cap 創建 都是 變量 code str

Struct

用指針和用變量名引用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的子集。

slice只是數組的引用,因此修改slice值就是修改數組裏的值。
[]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