登录
首页 >  Golang >  Go问答

检查接口的相等性{}

来源:Golang技术栈

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

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

问题内容

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

var v interface{}
for i := 0; i 
<p>在平凡的情况下,类型是<code>int</code>. 但是,例如,如果类型是一些自定义的,我该怎么办<code>struct</code>?</p>
<h2 class="daan">
    正确答案
</h2>
<p>感谢@CodingPickle 评论,我提供了来自<a target='_blank'  href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyero5kcNi9i2bShNCdspLfaam8iYmqyGx6nImyh3zHlZevjYqB1cdmatmQlZ2wkr56mMZ5aa3IsoWaebKGor-qu2iDdniVvoiclJKnrbGGmHqar5ybaLSNoJx9s52ist20pIKJhJe9rpyh' rel='nofollow'>Go
编程语言规范的以下内容</a></p>
<blockquote>
<p>相等运算符 == 和 != 适用于可比较的操作数。</p>
</blockquote>
<p>关于<code>interface{}</code>s 和<code>structs</code>:</p>
  • 接口值具有可比性。如果两个接口值具有相同的动态类型和相同的动态值,或者两者都具有值 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删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>