介面方法中的型別參數:Go 泛型困境
Go 在追求泛型的過程中,出現了一個奇特的絆腳石:類型的禁止介面方法定義中的參數。嘗試抽象鍵/值儲存的開發人員遇到的這種限制讓我們想知道為什麼以及是否存在解決方案。
限制背後的理由
Go核心團隊做出了一個深思熟慮的設計決定,禁止在多個介面中使用類型參數原因:
規避限制
規避限制type Reader[V Unmarshaler] interface { Read(bucket []byte, k ...[]byte) ([][]byte, error) ReadDoc(bucket []byte, factory func() (V, error), k ...[]byte) ([]V, error) } type Unmarshaler interface { UnmarshalKV(v []byte) error }
以上是Go 泛型可以處理介面方法定義中的型別參數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!