GO语言:数组与切片的区别

71 阅读1分钟
数组的声明与定义
var num = [3]int{1, 2, 3}  //明确数组长度
var num = [...]int{1, 2, 3}//不明确数组长度
切片的声明与定义
var num = []int{1, 2, 3}   //不明确切片的长度与容量(此时默认长度==容量)
var num = make([]int, 4, 5)//明确切片的类型,长度与容量。若省略容量则默认容量==长度
数组在函数传参中是传递的数组副本
切片由于底层机制是指向数组的指针,所以切片在函数传参中是传递的内存地址