Wenn Sie aus anderen Sprachen wie PHP, C#, Dart usw. kommen, sind Sie mit der Erstellung von Methoden für Klassen vertraut. Normalerweise implementieren diese Methoden eine Aktion für diese Klasse. In solchen OOP-Sprachen erstellen Sie solche Methoden im Klassenbereich wie:
class ClassName{ .... function functionName(){ // perform action } }
In Go erstellen Sie zunächst eine Struktur und können dann Empfänger anhängen, um bestimmte Aktionen für die Struktur auszuführen. Zum Beispiel haben wir als Modellbenutzer eine Methode, die den vollständigen Namen des Benutzers zurückgibt, wie unten gezeigt:
type myUser struct{ FirstName string LastName string PostalCode string DateOfBirth time.Time }
Oben haben wir gerade einen Benutzertyp mit den verschiedenen Attributen wie Vorname, Nachname ... erstellt. Wir möchten eine Methode haben, die eine spezielle Aktion für den Typ „myUser“ ausführt. In diesem Fall wird einfach die vollständige Namensform zurückgegeben die angegebenen Attribute FirstName,LastName.
Wir können eine Empfängerfunktion mit vollständigem Namen erstellen, die eine Zeichenfolge zurückgibt.
func (user *myUser) fullname() (string, string){ return user.FirstName ,user.LastName }
Wie können wir das nutzen? Wir könnten dies direkt in der Hauptfunktion testen, um zu sehen, wie es funktioniert:
func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
Daher haben wir erfolgreich eine Empfängermethode für unsere myUser-Struktur erstellt. Die vollständige Ode wird so aussehen:
package main import ( "fmt" "time" ) type myUser struct { FirstName string LastName string PostalCode string DateOfBirth time.Time } func (user *myUser) fullname() (string, string) { return user.FirstName, user.LastName } func main() { user := myUser{ FirstName: "Felix", LastName: "chi", } fmt.Println(user.fullname()) }
Also, was kommt als nächstes? Machen Sie weiter und fügen Sie Code auf https://go.dev/play/ ein, um zu sehen, wie es wirklich funktioniert. Siehe in meinem nächsten Beitrag...!!!!
Das obige ist der detaillierte Inhalt vonSo hängen Sie eine Funktion an eine Struktur in Golang an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!