golang声明一个空的字符串切片: 有时候需要遍历一个slice,处理完以后 存到一个新的slice里面,那么需要初始化一个空的字符串切片,而不是nil字符串切片,空和nil有很大的区别:
var list = []string{""} // 至少有一个元素,一般设为"",相当于有一个空的slice,最后通过 list[1:] 排除这个 "" 元素
如果声明为如下格式:
var list = []string{} // 其实这和 var list []string 没有区别,是一个nil的slice,所以直接适用会报下面的错误: out of range ...
通过 recover 可以捕获如下错误:
defer func() {
if r := recover(); r != nil {
common.Log.Println("错误:", r)
}
}()
[api_request]2022/09/16 15:38:00 duplicateString.go:79: 错误: runtime error: index out of range [0] with length 0
