在Go 結構體中封裝私有字段和方法
在Go 中,結構體中字段和方法的可見性由第一個控制他們名字的字元。以大寫字母開頭的欄位和方法從套件中導出,可以透過外部程式碼存取。相反,以小寫字母開頭的那些對於包來說是私有的。
要限制對結構中某些欄位和方法的訪問,您可以將結構及其成員函數放置在單獨的套件中。這樣,只有在套件中定義的類型才能存取私有成員。
例如,在提供的範例中,您可以為mytype 結構建立一個新套件:
// mytype.go // Define the mytype struct with private fields and methods. package mytype type mytype struct { size string hash uint32 } func (r *mytype) doPrivate() string { return r.size }
只要mytype 套件不匯入任何其他套件,欄位size 和hash 以及方法doPrivate 將保持為mytype 私有,且無法從套件外部存取。
以上是如何在 Go 結構中將欄位和方法設為私有?的詳細內容。更多資訊請關注PHP中文網其他相關文章!