1.我经常看到在项目里面使用了下面这些代码
```go
if data != nil && len(data) != 0 {
do xxx
}
```
我就在思考,为啥要多写一个判断data != nil
因此我测试了下面的代码,发现完全可以去掉第一个判断
因为len(nil)==0,因此第一个判断去掉没有任何问题的
```go
package main
import "fmt"
func main() {
var data1 []interface{} = nil
data2 := []interface{}{}
data3 := make([]interface{}, 0, 8)
fmt.Println(len(data1), len(data2), len(data3))
}
result:0 0 0
```
2.由此还能想到很多其他场景,下面两个也没必要判断data==nil的
```go
if len(data) == n {
}
if len(data) != n {
}
```
更多评论