为了账号安全,请及时绑定邮箱和手机立即绑定

反映零不等于零

反映零不等于零

Go
哆啦的时光机 2021-04-02 13:14:44
我需要检测的是某些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
提交
取消
意见反馈 帮助中心 APP下载
官方微信