Go 数组与切片(slice)的区别:底层结构、扩容与传参行为详解
数组:长度固定([5]int),值类型,传参整体拷贝,长度是类型的一部分([3]int 与 [4]int 是不同类型)。切片:动态长度([]int),引用类型,底层是 struct{ptr, len, cap},传参共享底层数据。声明:数组 var a [5]int;切片 var s []int 或 make([]int, len, cap)。切片可从数组/切片切出(s = a[1:3])。日常优先用切片;函数参数传数组想修改原值需传指针。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。