` 和 `" />
Go 泛型中的比较约束:了解顺序运算符限制
在 Go 泛型中,可以使用自定义类型约束或内置的可比较约束来实现比较数值。然而,使用带有顺序运算符的可比较约束,例如 >可能会引发错误。
可比较约束
可比较约束用于支持相等运算符 == 和 != 的类型。它还适用于用作映射键的类型,包括具有可比较字段的数组和结构。但请注意,它不支持顺序运算符(、>=)。
顺序运算符和约束。Ordered
Order 运算符仅适用于实现constraints.Ordered 接口的类型。该接口定义了它所代表的类型的部分排序。然而,在 Go 版本 1.18 到 1.20 中,constraints.Ordered 接口仅在实验性的 golang.org/x/exp 包中可用。
Go 1.21 解决方案
在 Go 1.21 中,cmp 包引入了 Ordered 约束和两个通用函数 Less 和 Compare,它们有助于有序比较types.
Go 1.18 到 1.20 的解决方法
在 Go 版本 1.18 到 1.20 中,您可以使用 golang.org/x/exp 包来访问约束。有序接口。或者,您可以实现满足约束的自定义类型。Ordered 接口并在泛型函数中使用它。
以上是为什么我不能使用`>`和`的详细内容。更多信息请关注PHP中文网其他相关文章!