標籤:
【Go structs、slices、maps】
1、定義時*在變數名後面,使用時*在變數名前面。
2、定義struct,type在前,struct關鍵字在後。
3、指標可以指定struct。
4、A struct literal denotes a newly allocated struct value by listing the values of its fields.
You can list just a subset of fields by using the Name:
syntax. (And the order of named fields is irrelevant.)
5、array定義。
6、A slice points to an array of values and also includes a length.
[]T
is a slice with elements of type T
.
7、Slices can be re-sliced, creating a new slice value that points to the same array.
[a,b]取值區間為a->b-1。
8、Making slices
9、The zero value of a slice is nil
.
A nil slice has a length and capacity of 0.
對於上式,z是nil.
10、通過append方法添加元素。
11、range在for中可用來迭代slices。
12、通過_可以略去索引。
13、Maps must be created with make
(not new
) before use
14、Map literals are like struct literals, but the keys are required.
15、可以省略Vertex。If the top-level type is just a type name, you can omit it from the elements of the literal.
16、map的操作
17、函數也是一個變數。
18、closure。
參考:https://tour.golang.org/moretypes/1
Go structs、slices、maps