Heim  >  Artikel  >  Backend-Entwicklung  >  So hängen Sie eine Funktion an eine Struktur in Golang an

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

王林
王林Original
2024-08-06 02:58:52942Durchsuche

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
}
}

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!

Stellungnahme:
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