go panic (runtime error: slice bounds out of range) 分析

如圖,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”

           

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章