So hängen Sie eine Funktion an eine Struktur in Golang an

王林
Freigeben: 2024-08-06 02:58:52
Original
1045 Leute haben es durchsucht

How to to attach a function to a struct in Golang

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
}
}
Nach dem Login kopieren

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
}
Nach dem Login kopieren

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
}

Nach dem Login kopieren

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())

}
Nach dem Login kopieren

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())

}
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage