1、数组
var 数组变量名 [元素数量]Type //数组声明
q := [...]int{1, 2, 3}
var r [3]int = [3]int{1, 2}
var array_name [size1][size2]...[sizen] array_type //多维数组。a,array_type 为数组的类型,size1、size2 等等为数组每一维度的长度。
var array [2][2]int // 声明一个 2×2 的二维整型数组
2、切片
slice [开始位置 : 结束位置]
mp1 := make(map[int][]int)
var strList []string // 声明字符串切片
var numList []int // 声明整型切片
var numListEmpty = []int{} // 声明一个空切片
make( []Type, size, cap )// 动态地创建一个切片,可以使用 make() 内建函数
var slice [][]int //声明一个二维切片
slice = [][]int{{10}, {100, 200}} //为二维切片赋值
3、map
var mapname map[string]int //正常定义map,string是key类型,int是value类型。int前没空格。
make(map[keytype]valuetype, cap) //map 可以根据新增的 key-value 动态的伸缩,因此它不存在固定长度或者最大限制
mp1 := make(map[int][]int) //用切片作为map的value。value类型是 []int。**没有指定长度是切片,指定长度是数组!**
mp2 := make(map[int]*[]int) //value类型是 *[]int
参考:
http://c.biancheng.net/view/31.html