在Go 中建立不可變結構
在Go 中,可以建立不可變結構,這些結構一旦初始化就只能用於讀取值,而不是而不是修改它們。其實作方式如下:
將成員設為私人
通常,結構體的欄位會被匯出,並且可以從套件外部存取。若要建立不可變結構,請在欄位名稱開頭使用小寫字母使其欄位不匯出。這可以防止外部存取字段。
提供讀取器方法
要啟用對欄位值的訪問,請使用前綴「Value()」或描述性名稱。這些方法在不修改結構的情況下檢索值。
示例
以下示例代碼片段演示瞭如何創建不可變結構:
package example type ImmutableStruct struct { value int } func (s ImmutableStruct) GetValue() int { return s.value } func NewImmutableStruct(value int) ImmutableStruct { return ImmutableStruct{value: value} }
用法
這個不可變結構體可以如下使用:
myStruct := example.NewImmutableStruct(3) fmt.Println(myStruct.GetValue()) // Prints 3
在這個例子中,myStruct變數是不可變的,不能直接修改。它只能用於透過 GetValue() 方法檢索值。
透過使結構不可變,您可以增強 Go 應用程式的安全性和完整性,確保敏感或關鍵資料免受意外修改.
以上是如何在 Go 中建立不可變結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!