使用預定義介面定義遞歸型別限制
在 Go2 泛型中,介面可用於指定泛型型別的型別約束。但是,目前草案沒有提供強制實作帶有泛型類型本身參數的方法的方法。
要克服此限制,請考慮以下方法:
定義遞歸介面:
定義具有泛型類型參數的函數受遞歸介面約束:
用法:
解釋:
類型約束T Lesser[T] 確保泛型型別 T 必須實作 Less 方法T 類型的參數。這允許遞歸類型約束。
這種方法使您能夠定義自訂類型,例如 Apple 和 Orange,它們實作自己的 Less 方法,滿足遞歸約束並啟用 IsLess 函數使用這些自訂類型。
以上是如何使用介面在 Go2 泛型中定義遞歸類型約束?的詳細內容。更多資訊請關注PHP中文網其他相關文章!