` 和`" />
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中文網其他相關文章!