您的位置 首页 golang

golang 全切片表达式

今天看别人开源代码的时候,发现别人用切片的语法,有点奇怪,正常我们会写 elements[1:2] , 但是这个人写的是elements[1:2:2], 这样给我直接干懵逼了。我没见过这种。

然后就做了一些功课,分享给大家, 官方有文档。

全切片表达式
主要表达

a [低:高:最大]
构造一个与简单切片表达式具有相同类型、长度和元素的切片a[low : high]。此外,它通过将结果切片设置为 来控制结果切片的容量max – low。只有第一个索引可以省略;它默认为 0。 的核心类型a必须是数组、指向数组的指针或切片(但不是字符串)。切片数组后a

a := [5]int{1, 2, 3, 4, 5}
t := a[1:3:5]
切片t具有类型[]int、长度 2、容量 4 和元素

t[0] == 2
t[1] == 3
对于简单的切片表达式,ifa是指向数组的指针, a[low : high : max]是(*a)[low : high : max]. 如果切片操作数是一个数组,它必须是可寻址的。

如果,则 索引在范围内0 <= low <= high <= max <= cap(a),否则超出范围。常量索引必须是非负的,并且可以 由type 的值 表示int;对于数组,常量索引也必须在范围内。如果多个索引是常数,则存在的常数必须在相对于彼此的范围内。如果索引在运行时超出范围,则会发生运行时恐慌panic。

英文源文:

文章来源:智云一二三科技

文章标题:golang 全切片表达式

文章地址:https://www.zhihuclub.com/97226.shtml

关于作者: 智云科技

热门文章

网站地图