关于Golang中Slice(切片) 传参分析
Slice是go中的一个基本操作
本文主要演示切片传参对自身的影响
系统环境
- Ubuntu19.10
- IDEA Goland
- GO Version 1.14.0
##简介
切片的结构
type SliceHeader struct {
Data uintptr // 指向底层数组的指针
Len int // 表示当前切片的长度
Cap int // 表示当前切片的容量
}
切片数据结构就是上述这样,这里就不再赘述了,如果想了解详细的切片的操作请参考下面:
超级跳转
切片特性
- 切片可以自动扩容
- Len的值总是小于等于Cap,且都大于等于零
- Data 可能会变
声明:切片传参本身就是指针,本文不讨论二级,多级指针的情况
1.切片不扩容
func main() {
a := make([]int, 10,