基础
定义变量(var)
函数外 var name1
var name1 type=1
函数内 name1:=1
_,b:1,2 丢弃1,b为2
定义常量
const name=value
const Pi float32=3.1415926
数组
var arr [n]type n表示长度,type表示存储的类型 var arr [10]int
a:=[3]int{1,2,3}长度为3的数组
a:=[10]int{1,2,3}长度为10的数组
a:=[...]int{4,5,6}自动根据元素的个数计算长度
a:=[2][4]int{ [4]int{ 1, 2, 3, 4}, [4]int{ 5, 6 ,7 , 8 } }
a:=[2][4]int{{1, 2, 3, 4},{5, 6 ,7 , 8}}
slice 未定义长度的数组,默认开始位置是0,默认第二个参数是数组的长度
var arrslice []int
slice:=[]byte {1,2,3}
假如a:=[10]int{1,2,3,4,5,6,7,8,9,0},b=a[2:5]
a=[3,4,5](留头不留尾)
ar[:n]===ar[0:n],ar[:]===ar[0:len(ar)]
len获取slice长度,cap获取slice最大容量,append追加元素并返回一个slice,copy复制slice
map(根本不知道讲的是什么, 可以理解为是数组,但是数组每一项的序列不一定是整数型)
var number map[string] int
number:=make(map[string] int)
number["a"]=1
number["b"]=2
make和new
有兴趣可以去看专业的解答,反正我是没有看懂,
new 的作用是初始化一个指向类型的指针(*T),make 的作用是为 slice,map 或 chan 初始化并返回引用 (T)