2017-11-17 1 views
-5

Ich habe zB play.golang.org/p/Y1KX-t5Sj9 wo ich Methode ändern() auf struct Benutzer definierenwie zu modifizieren struct Felder in golang

type User struct { 
    Name string 
    Age int 
} 
func (u *User) Modify() { 
    *u = User{Name: "Paul"} 
} 

in der main() Ich bin die Definition struct wörtliche & Benutzer {Name: "Leto" , Alter: 11} dann rufen Sie u.Modify(). Das Ergebnis in Drucken 'Paul 0' Ich mag diese Struktur Feldname ist geändert, aber was ist der richtige Weg zu halten Alter Feld?

Antwort

6

ändern Sie einfach das Feld, das Sie ändern möchten:

func (u *User) Modify() { 
    u.Name = "Paul" 
} 

Dieses gut in the Go tour bedeckt ist, die Sie auf jeden Fall durchlesen sollte, es lange dauert nicht.