在 Go 语言中,数组是固定长度的、类型相同的一组数据。切片则是对数组的抽象,切片是可变长度的,并且可以包含任意类型的数据。
数组的长度是固定的,在声明数组时就必须指定数组的长度。数组的长度也是它的一个类型的组成部分,因此 [3]int 和 [4]int 是不同的类型。数组的长度也是它的容量,因此数组中的元素的个数是不能超过数组的长度的。
切片是可变长度的,切片的长度是可以改变的。切片的容量是指切片所引用的底层数组中剩余的元素个数,切片的长度是可以大于它的容量的。切片可以通过内置函数 make 创建,也可以通过对数组的一个或多个子序列的引用来创建。
总之,数组是固定长度的、类型相同的数据