Dışa Açık Değiştirilebilir Alan (ARCH5186)
Anahtar go.quality.exported-mutable-field · Önem info · Kategori quality
Doğrudan dışa açık değiştirilebilir alanlar değişmezleri zorlamayı imkansız kılar ve iç durumu sızdırır. Alanı kapatıp erişimci sağlayın.
Hatalı
Bölüm başlığı “Hatalı”type Account struct { Balance int // herkes serbestçe yazabilir}type Account struct { balance int}
func (a *Account) Balance() int { return a.balance }
func (a *Account) Deposit(n int) error { if n <= 0 { return errInvalidAmount } a.balance += n return nil}Düzeltme
Bölüm başlığı “Düzeltme”Alanı dışa kapalı (unexported) yapın ve değişmezleri zorlayan erişimci metotlar ekleyin.