理解 Go 中的類型聲明
從 .NET 背景學習 Go,可能會遇到不熟悉的類型聲明。考慮以下程式碼片段:
// PublicKey is the type of Ed25519 public keys. type PublicKey []byte
這個聲明意味著什麼?
與繼承相反,Go 使用型別定義來建立具有共享基礎類型的新類型。定義這樣的類型允許開發人員:
雖然新類型和函數都可以用於特定於類型的操作,但只有具有方法的類型才能實現接口,例如用於排序的sort.Interface
因此,上面的聲明創建了一個自訂類型PublicKey,其基礎類型為[]byte,允許將方法附加到它。例如,定義了 sort.IntSlice 類型用於對整數切片進行排序,允許對 []int 類型的值進行排序。
與繼承的主要區別
與繼承不同,在 Go 中創建新類型不會繼承方法,也不會具有父子關係。為了實現類似的功能,應該考慮嵌入(結構類型),其中嵌入類型的方法可供嵌入類型使用。
以上是Go 中 `type PublicKey []byte` 聲明了什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!