首頁 >後端開發 >Golang >Go 泛型中用於類型比較的「comparable」和「Ordered」約束有何不同?

Go 泛型中用於類型比較的「comparable」和「Ordered」約束有何不同?

Barbara Streisand
Barbara Streisand原創
2024-12-10 14:36:11708瀏覽

What's the Difference Between `comparable` and `Ordered` Constraints in Go Generics for Type Comparisons?

Go 泛型中的可比較約束與有序運算子

在Go 泛型中,可比較約束限制支援相等運算符(== 和!=),而有序運算子(、=)則需要Ordered

考慮以下程式碼:

getBiggerNumberWithComparable 中出現錯誤是因為相當不能保證順序比較。其中包括不支援排序的映射鍵類型。

Go 1.18 到 1.20 的解

Go 1.21 之前,使用限制。有序:

Go 解1.21

在 Go 1.21 及更高版本中,使用 cmp.Ordered:

以上是Go 泛型中用於類型比較的「comparable」和「Ordered」約束有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn