如图,go程序出现panic

下面来看看这个导致panic的方法:

1)定义了一个nil的切片
var job []string定义的是一个分配了却未初始化的对象,它的值是nil,上面的方法,如果
if strings.Contains(subName, env) 这个条件一直不成立,返回的jobs就是nil
正确的写法:
jobs := []string{}
2)访问切片时,越界
name[7 : len(name)-1]
name这个对象其长度如果小于7,这个操作就会导致非法访问,“runtime error: slice bounds out of range”
本文探讨了Go语言中切片使用的两个常见错误:一是定义并使用nil切片,这可能导致程序panic;二是访问切片时越界,同样会引起运行时错误。正确做法是初始化切片为一个空切片。
631

被折叠的 条评论
为什么被折叠?



