数组
数组是具有固定长度且拥有零个或者多个相同数据类型元素的序列
数组的长度是数组类型的一部分,所以[3]int和[4]int是两不同的数组类型
数组需要指定大小,不指定也会根据初始化的自动推算出大小,不可改变;
数组是值传递;
数组是内置(build-in)类型,是一组同类数据的集合,他是值类型,通过从0开始的下标索引访问元素值
数组的长度也是其1类型的一部分,通过内置函数len(array)获取其长度
在初始化后长度是固定的,无法修改其长度,当做为方法的参数传入将复制一份数组而不是引用同一指针
切片
切片表示一个拥有相同元素的可变长度的序列
切片是一种轻量级的数据结构,他有三个属性:指针,长度和容器
切块结构如下:
type Slice struct {
type unsafe.Pointer
len int
cap int
}
切片不需要指定大小
切片是地址传递
切片可以通过数组来初始化,也可以通过内置函数make()初始化