【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