gpt4 book ai didi

go - 使用 reflect.DeepEqual 时查找哪个结构字段不相等

转载 作者:IT王子 更新时间:2023-10-29 01:35:06 24 4
gpt4 key购买 nike

在使用 reflect.DeepEqual() 比较两个结构时,如何找到不同的结构字段。当我打印结构值时,我看不到这两个结构值之间有任何区别,但 reflect.DeepEqual() 方法仍然返回 false

最佳答案

正如 kostix 在他(现已删除)的回答中指出的那样 https://github.com/go-test/deep非常有用。在比较基于 XML/JSON 文档的大型结构时,它帮助我在几分钟内找到问题。

diff := deep.Equal(got, want)
if diff != nil {
t.Errorf("compare failed: %v", diff)
}

使用标准的 reflect 包,我不得不或多或少地自己实现 diff,但在这种情况下它有效并且 diff 显示所有字段名称直到不同的值。这让您很容易找到问题。

关于go - 使用 reflect.DeepEqual 时查找哪个结构字段不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47327624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com