一,总结答案
array是固定长度的数组,是值类型的,如果进行赋值或者作为函数参数,实际上整个数据都会被重新拷贝一份。
使用前必须声明长度
arr := [5]int
而slice属于引用类型,是一个不定长的,总是指向底层的数组array的数据结构。作为函数参数时,slice传递的是指针。
创建时不需要指定长度
var s []int
s := make([]int,10)
s :=[]int{1,2,3}
二,ChatGPT回答,ChatGPT地址
array是固定长度的数组,是值类型的,如果进行赋值或者作为函数参数,实际上整个数据都会被重新拷贝一份。
使用前必须声明长度
arr := [5]int
而slice属于引用类型,是一个不定长的,总是指向底层的数组array的数据结构。作为函数参数时,slice传递的是指针。
创建时不需要指定长度
var s []int
s := make([]int,10)
s :=[]int{1,2,3}