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