golang的切片和数组
在java语言中很少提及切片的概念,golang有切片类型,go更多地使用切片类型。
数组和切片的声明方式
1.数组的声明与使用
var x [3]int
var x = [3]{10, 20, 30}
2.切片的声明
切片声明时没有指定长度或使用make声明
var x []int
var x = []{10, 20, 30}
//长度为5,容量为5的切片,因为长度是5,所以x[0]~x[5]都是有效元素,它们的初始值是0
x := make([]int, 0 10)
//长度为0,容量为10的切片,因为长度是0,所以不能直接使用索引来访问数据,但可以使用append(x, 1)来添加数据
x := make([]int, 0 10)
为什么更多地使用切片
go中很少显式地使用数据类型,更多的是使用切片类型。
这是因为数组有个特殊的限制:go认为数组的长度属于类型的一部分。这就导致定义为[3]int的数组类型不同于定义为[4]int的数组类型,也意味着数组的长度是不可变的。
由于这些限制,除非已经知道需要的长度,否则不使用数组。
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦