理解 Go 介面中的型別限制
Go 介面是抽象資料型別和促進程式碼重用的強大工具。然而,介面的使用受到某些規則的約束,其中之一就是禁止介麵包含類型元素。
在給定的代碼片段中,錯誤“接口包含類型約束:無法在轉換中使用接口編號” ” 由於此限製而產生。Number 接口,定義為類型Number 接口{ int | int64 | float64 },定義了三種特定類型的聯合。介面或用作其他類型的元素。 >
克服由於這個限制,您可以使用interface{}類型,它可以保存任何類型的值。 interface{}(3),4},因為元素不受Number的類型約束。 aaa 變數初始化為[]NNumber{NNumber(1), NNumber(2), NNumber(3), 4} 沒有錯誤,因為NNumber 不包含類型限制。及其周圍的限制,您可以有效地利用Go 接口,同時避免與類型約束相關的潛在問題。以上是為什麼我不能在轉換中使用帶有類型約束的 Go 介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!