Go语言slice的那些坑
Go语言Google开发的适用于多核编程的语言。我感觉它像是C语言的现代版本,简单,并发支持友好,部署轻松。GO语言中保留关键字就只有25个,这也足以说明它的学习成本并不高。
然而,Go语言里面slice这个东西并不简单。初学者容易掉入坑中。此文件就试图把slice给讲解清楚。
下面先讲一下slice的一些基本特性。
1. slice内部有三个变量,分别是:ptr, len, cap
ptr是用来存储数据的数组
cap是ptr数组的长度
len是实际数组的长度
2. 如何在初始化的时候,指定slice的长度?
a := make([]int, 10)
这里make的时候,第2个参数,就是这个slice的长度。
这个时候它的capacity是多少呢?
fmt.Println(cap(a))
这里打印出来是10。
注意:
如果 a := make([]int, 10)
a = append(a, 1)
此时 len(a) = 11 的
make([]int,10) 其实是分配一个长度为10的初始化为0值的 切片
转载: https://studygolang.com/articles/6557
浪漫家园,没事就来逛逛