golang博客指出:
“也可以通过“切片”现有切片或数组来形成切片。切片是通过指定半开范围来完成的,其中两个索引之间用冒号分隔。例如,表达式b [1:4]创建包含以下内容的切片: b的元素1到3(所得切片的索引将是0到2)。”
有人可以向我解释上面的逻辑。IE浏览器 b [1:4]为什么不引用元素1到4?这是否与其他数组引用一致?
原因在“ 切片”的“ Go语言规范”部分中给出。
对于字符串,数组或切片a,主表达式 a[low : high] 构造一个子字符串或切片。索引表达式low和high选择哪些元素出现在结果中。结果的索引从0开始,长度等于高-低。 为了方便起见,可以省略任何索引表达式。缺少的低索引默认为零;缺少的高索引默认为切片操作数的长度。
对于字符串,数组或切片a,主表达式
a[low : high]
构造一个子字符串或切片。索引表达式low和high选择哪些元素出现在结果中。结果的索引从0开始,长度等于高-低。
为了方便起见,可以省略任何索引表达式。缺少的低索引默认为零;缺少的高索引默认为切片操作数的长度。
计算切片的长度为高-低很容易且有效。