在 Go 中,了解对存储在 interface{} 切片中的值进行相等性检查的复杂性至关重要。本指南探讨了根据给定的 interface{} 值验证不同值类型(包括自定义结构)是否相等的可用方法。
处理可比较类型时,例如作为整数 (int),相等性检查很简单。您可以使用 == 运算符直接比较值。
var v interface{} = 10 for i := 0; i < len(A); i++ { if A[i] == v { fmt.Println("Gotcha!") break } }
对于同样具有可比性的自定义结构,相等性检查取决于字段的可比性。如果所有字段都是可比较的,则可以直接使用 == 比较结构体。否则,您需要定义自己的相等函数。
参考 Go 编程语言规范提供了接口相等性的清晰说明。
以下游乐场演示了不同值类型的相等检查: https://play.golang.org/p/bgO1_V87v9k
了解 interface{} 值的相等性检查可以简化 Go 编程。请记住,接口值、结构和可比较类型具有特定的相等规则,应遵循这些规则以获得准确的结果。
以上是如何在 Go 中对 interface{} 值执行相等性检查?的详细内容。更多信息请关注PHP中文网其他相关文章!