登录
首页 >  Golang >  Go问答

平等与深度平等

来源:stackoverflow

时间:2024-04-07 17:48:27 459浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《平等与深度平等》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

为什么 Equal 和 DeepEqual 之间存在差异?

s1 := "abc"
s2 := "abc"

sv1 := reflect.ValueOf(s1)
sv2 := reflect.ValueOf(s2)

fmt.Println(sv1.Equal(sv2))
fmt.Println(reflect.DeepEqual(sv1, sv2))

第一个打印 true,第二个打印 false。


正确答案


reflect.DeepEqual 似乎需要一些手动拆箱,因为它将 reflect.Values 视为 structs 而不是 reflect.Values (reflect.DeepEqual(v1.Interface(), v2.Interface())

到这里,我们也就讲完了《平等与深度平等》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>