登录
首页 >  Golang >  Go问答

检查接口的相等性{}

来源:Golang技术栈

时间:2023-03-22 10:05:40 303浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《检查接口的相等性{}》,就很适合你!文章讲解的知识点主要包括golang,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我正在为给定值搜索[]interface{}切片:interface{}

var v interface{}
for i := 0; i 

在平凡的情况下,类型是int. 但是,例如,如果类型是一些自定义的,我该怎么办struct

正确答案

感谢@CodingPickle 评论,我提供了来自Go 编程语言规范的以下内容

相等运算符 == 和 != 适用于可比较的操作数。

关于interface{}s 和structs

  • 接口值具有可比性。如果两个接口值具有相同的动态类型和相同的动态值,或者两者都具有值 nil,则它们是相等的。
  • 当类型 X 的值可比较且 X 实现 T 时,非接口类型 X 的值 x 和接口类型 T 的值 t 是可比较的。如果 t 的动态类型与 X 相同且 t 的动态值等于 x,则它们相等.
  • 如果结构值的所有字段都是可比较的,则结构值是可比较的。如果它们对应的非空白字段相等,则两个结构值相等。

你也可以试试这个游乐场https://play.golang.org/p/bgO1_V87v9k

换句话说,在 Go 中处理相等似乎很容易!

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《检查接口的相等性{}》文章吧,也可关注golang学习网公众号了解相关技术文章。

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