package main
func main(){
str := "wcd"
print(str[len(str)]) // panic
print(str[len(str):]) // 输出为空
}
有疑问加站长微信联系(非本文作者)

package main
func main(){
str := "wcd"
print(str[len(str)]) // panic
print(str[len(str):]) // 输出为空
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
1.下标溢出了. 2.输出是冗余的缓冲区字符都是\0
我理解 两个都是用的下标 第一个panic了 是我意向之中 但是第二个居然不panic 这就是我的疑问
如你所说 第二个 输出冗余的缓冲区字符都是\0 那第一个为啥不是呢?
还有 我记得 golang的字符串 不像c语言一样 给字符串的末尾 补充一个空字符
🥰
第一个编译器会检查你越界, 第二个不会的. golang的字符串和C语言完全不同. go是有冗余的缓冲区的, C没有