Golang -Konstruktor ähnliche Funktionen

Golang -Konstruktor ähnliche Funktionen
GO ist keine objektorientierte Programmiersprache, zumindest nicht in den traditionellen OOP-Mustern. Es leiht sich einige Funktionen aus und bietet Instanzen, die nach OOP gekreuzt werden. Obwohl dies eine entmutigende Migration sein kann, insbesondere für Entwickler aus OOP -Sprachen, macht sie dies mit seiner Einfachheit aus.

In diesem Artikel werden wir diskutieren, wie Sie einen Konstruktor in Go mit nativen Funktionen erstellen können.

Konstruktor wie Funktionen

Definieren wir eine einfache Struktur, wie im folgenden Code gezeigt:

Geben Sie die Benutzerstruktur ein
Name Zeichenfolge
Alter int
Gehalt float64

Aus der Struktur können wir eine Funktion wie Konstruktor erstellen, wie im Beispiel gezeigt:

func user_info (Name Zeichenfolge, Alter int, Gehaltsfloat64) *Benutzer
u: = neu (Benutzer)
u.Name = Name
u.Alter = Alter
u.Gehalt = Gehalt
zurück u

Das obige erzeugt eine Konstruktor-ähnliche Funktion vom Benutzertyp. Wenn wir den Typ überprüfen, sollten wir:

fmt.Println (reflektieren.Typeof (user_info ("jonathan archer", 45, 140000.33)))
*hauptsächlich.Benutzer

Wie Sie sehen, können Konstruktoren in GO Funktionen erstellen, die einen Oobject -Zeiger zurückgeben.

Eine Beispielfunktion ist wie Show:

func (u *user) init (Name Zeichenfolge, Alter int, Gehalt Float64)
u.Name = Name
u.Alter = Alter
u.Gehalt = Gehalt

Wir können die Funktion als:

Benutzer: = neu (Benutzer)
Benutzer.Init ("Jonathan Archer", 45, 140000.33)
fmt.Printf (" %s: %d: %f \ n", Benutzer.Name, Benutzer.Alter, Benutzer.Gehalt)

Abschluss

In diesem Artikel haben wir untersucht, wie OOP in Go mit Strukturen und Funktionen einführt, die einen Zeiger zurückgeben.