【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。
