Golang Nil Slice 和 Empty Slice
Contents
Nil Slice
1 | var nilSlice []int |
Empty Slice
- 代码一:
1
2
3
4
5
6
7
8emptySlice := make([]int, 0)
fmt.Println(emptySlice) // 输出:[]
fmt.Println(len(emptySlice), cap(emptySlice)) // 输出:0 0
fmt.Println(emptySlice == nil) // 输出:false
res, _ := json.Marshal(emptySlice)
fmt.Println(string(res)) // 输出:[]
- 代码二:
1
2
3
4
5
6
7
8emptySlice := []int{}
fmt.Println(emptySlice) // 输出:[]
fmt.Println(len(emptySlice), cap(emptySlice)) // 输出:0 0
fmt.Println(emptySlice == nil) // 输出:false
res, _ := json.Marshal(emptySlice)
fmt.Println(string(res)) // 输出:[]
注意:
emptySlice := []int{}
这种定义方式,在 Goland 中会出现Empty slice declaration using a literal
的警告⚠️