数组定义

var arr [1]int        //声明
arr = [1]int{}       //初始化长度为1的数组
arr1 := [3]int{1,2,3}          //同样初始化三个值
arr2 := [...]int{1,2,3}          //同样初始化三个值,三个点表示自动计算长度
arr_1 := [1][2]int{{1,2}}    //二维数组

切片也是go原生的类型,也是一种数组,叫动态数组,其实就相当于java中的ArrayList,可变数组。在定义的时候如果不写这个长度值,就相当于定义个一个切片(定义了长度就是数组)

var arr []int 
arr = []int{1,2,3} //定义数组
slice := arr[0:2]  //从一个slice初始化,0:2表示从开始的位置截止到第三个。
slice = arr[:2]    //如果是从0开始,可以简写为[:2]
slice = arr[:]    //拷贝slice
//遍历slice
for v:= range slice{
  fmt.Println(v)
}

Map定义

var map1 map[int]string //声明,没有初始化的时候是nil,此时是不能进行key操作的
map1 := map[int]string{} //初始化之后才能进行操作,初始化一个空的集合
map1 := map[int]string{0:"zero",1:"1"} //也可以在此添加初始数据
//遍历Map
for k,v := range map1{
  fmt.Println(k,"=",v)
}