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

比较 golang 中的数组等两个结构

比较 golang 中的数组等两个结构

Go
斯蒂芬大帝 2023-03-15 15:31:37
我正在尝试比较 Golang 中数组类型的 2 个结构,以便了解从网络抓取中获得的 struct1 是否等于 struct 2,后者是从数据库中获取的数据。这是我认为能够知道外部网络和我的数据库之间是否发生变化的方式。结构是:type Exchange struct {    Name          string    `gorm:"Column:name" json:"name"`    Buy           float64   `gorm:"Column:buy" json:"buy"`    Sell          float64   `gorm:"Column:sell" json:"sell"`}咨询后的结果来自报废:&[{Dólar 38.5  41 } {Euro 38.82  43.57 } {P. Argentino 0.05  0.35 } {Real 6.95  8.95 }]来自网络&[{Dólar 38.5 41} {Euro 38.82 43.57} {P. Argentino 0.05 0.35} {Real 6.95 8.95}]我的代码:    fmt.Println(exchanges)    dbExchanges := getExchangesFromDB()    fmt.Println(dbExchanges)    if exchanges == dbExchanges {        fmt.Println("is equal")    } else {        fmt.Println("no is equal")    }    fmt.Println("Struct equal: ", reflect.DeepEqual(exchanges, dbExchanges))结果:不等于结构相等:假
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

首先,如果您要比较两个变量的内存地址而不是它们的值。在第二个 if 子句中(使用 reflect.DeepEqual),您正在比较它们的值。



查看完整回答
反对 回复 2023-03-15
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信