Go 中的比较和排序

标签 comparison operator-overloading go equality comparable

Go 中是否有任何内部机制来实现平等和排序? (因此我们可以在类型上使用比较运算符 - ==、!=、<、>、<=、>=。)

注意:我看到某些类型有一个名为 Less 的方法,似乎用于排序。但是我找不到那个或相等性检查接口(interface)的文档(如果有的话)。

最佳答案

does not support operator overloading ,因此您将无法使用您的类型覆盖这些运算符的行为。如果您需要在您的类型上使用这些操作,请将它们定义为方法。

您可能在某些类型上看到的 Less 方法可能作为 sort.Interface 的一部分存在接口(interface)或可能 heap.Interface (它扩展了排序接口(interface))。

关于Go 中的比较和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15520590/

相关文章:

c++ - 奇怪的输出 : why would this code give any meaningful output, 更不用说这个了?

c++ - 具有大字符指针的 Golang CGO - SEGSERV

go - 如何使用go保存聚类模型?

string - 在 Go 中比较不等长的字符串

java - 判断哪个版本性能更好的最简单直接的方法是什么?

php - 成功解析 SimpleXMLElement 与 'false' 的比较,返回 'true'

swift - 比较 Swift 中的 AnyObjects 而不是将它们转换为特定类型

c++ - C 程序用不同的数字输出不同的值?

c++ - 如何重载 == 运算符而不使其成为友元函数?

c++ - C++ 中 int 和 char 的重载运算符