结构体怎么判断为空?就是判断是否已经初始化
fmt.Println(reflect.ValueOf(struct_name).IsValid())
网上说用这个映射打印是true,不好用呀
Demo code
```go
package main
import (
"fmt"
"reflect"
)
type A struct{
name string
age int
}
func (a A) IsEmpty() bool {
return reflect.DeepEqual(a, A{})
}
func main() {
var a A
if a == (A{}) { // 括号不能去
fmt.Println("a == A{} empty")
}
if a.IsEmpty() {
fmt.Println("reflect deep is empty")
}
}
```
#4
更多评论