```go
func main() {
var sliceA []int
b := []int{}
fmt.Println(sliceA == nil)
fmt.Println(b == nil)
fmt.Println(len(sliceA), cap(sliceA))
fmt.Println(len(b), cap(b))
fmt.Println(sliceA)
fmt.Println(b)
}
```
运行结果为
```
true
false
0 0
0 0
[]
[]
```
为什么当 **b := []int{} **这样定义时,明明len cap都是0 却不等于nil
**var sliceA []int ** len cap也是0 却等于nil呢
var sliceA []int 要实际应用中间还有一个步骤,make([]int,0,0)才能使用,而b := []int{}则不用。就能知道var sliceA []int实际没分配内存了
#5
更多评论