我需要检测的是某些struct字段的值是否为空。在这个问题中,我找到了解决方案,但是当我在游乐场操作员上尝试使用它时==,funcreflect.DeepEqual总是返回false。我在做什么错,我该如何解决?简单的例子:func main() { s := "" v := reflect.ValueOf(s) t := reflect.TypeOf(s) zero := reflect.Zero(t) fmt.Println(zero == reflect.Zero(t)) // false fmt.Println(v == zero) // false fmt.Println(v == reflect.Zero(t)) // false}我的情况:type S struct { Empty string NotEmpty string}func main() { s := S{ Empty: "", NotEmpty: "Some text", } v := reflect.ValueOf(s) for i := 0; i < v.NumField(); i++ { field := v.Field(i) fmt.Println(field, field == reflect.Zero(field.Type())) }}输出: falseSome text false
1 回答
- 1 回答
- 0 关注
- 214 浏览
添加回答
举报
0/150
提交
取消