Wie weise ich Standardwerte für Strukturfelder in Golang zu?

Wie Weise Ich Standardwerte Fur Strukturfelder In Golang Zu



Golang ist eine moderne Programmiersprache, die in den letzten Jahren an Popularität gewonnen hat. Eine der leistungsstarken Funktionen von Golang ist seine Fähigkeit, Strukturen zu definieren und zu manipulieren. Strukturen sind benutzerdefinierte Datentypen, die es Entwicklern ermöglichen, zusammengehörige Datenfelder in einem einzigen Objekt zu gruppieren. In Go, Strukturen kann haben Standardwerte ihren Feldern zugeordnet, was die Initialisierung erheblich erleichtert.

In diesem Aufsatz werden wir untersuchen, wie man a zuordnet Standardwert für ein Strukturfeld in Golang.

Was sind Strukturfelder?

Zunächst ist es wichtig, das Konzept zu verstehen Strukturfelder . Der Strukturfelder sind Variablen, die gruppiert sind, um a zu bilden Struktur Objekt. Jede Strukturfeld hat einen Namen und einen Datentyp. Beispielsweise kann eine Struktur, die eine Person darstellt, Felder wie Name, Alter und Geschlecht enthalten.







Wie weise ich Standardwerte für Strukturfelder in Golang zu?

Standardwerte kann für Strukturfelder in Go zugewiesen werden mit:



  • Standard-Nullwerte
  • Konstrukteure
  • Strukturliterale
  • Standardfeldwerte

1: Standard-Nullwerte

In Go kann die Zuweisung von Standardwerten zu Strukturfeldern mit dem Befehl „ Nullwert ' Besonderheit. Diese Funktion weist automatisch einen Standardwert zu: „ 0 ' oder ' FALSCH ” in jedes nicht initialisierte Feld, abhängig vom Datentyp. Das bedeutet, dass Sie nicht für jedes Feld in der Struktur explizit Standardwerte festlegen müssen, da Go dies für Sie erledigt.



Diese Funktion kann beim Umgang mit großen Strukturen mit vielen Feldern nützlich sein, da sie die Zeit und den Aufwand spart, für jedes Feld manuell Standardwerte festzulegen.





Hier ist ein Beispiel, das den Nullwert verwendet, um Standardwerte für Strukturfelder zuzuweisen:

Paket main

importieren „fmt“

Typ Personenstruktur {
Namenszeichenfolge
Alter    int
Höhe float64
IsMale bool
}

Funktion main ( ) {
p1 := Person { Name: 'John' , Alter: 30 }
fmt.Println ( p1.Name )
fmt.Println ( p1.Alter )
fmt.Println ( p1.Höhe )
fmt.Println ( p1.IsMale )
}

Der obige Code definiert eine Person Struktur mit vier Feldern: Name, Alter, Größe und IsMale, die alle vom Datentyp bool sind. Anschließend erstellen wir eine neue Instanz der Person-Klasse, p1, und initialisieren einige ihrer Felder, indem wir Strukturliterale verwenden, um die Feldnamen und -werte anzugeben. Der Standardwerte Null für die Felder, die bei der Initialisierung nicht explizit festgelegt wurden, werden angezeigt, wenn Sie die Werte der Felder mit drucken fmt.Println .



Ausgang

2: Konstrukteure

Durch das Schreiben von a Konstrukteur Wenn Sie eine Funktion für die Struktur verwenden, können Sie den Strukturfeldern in Golang auch Standardwerte zuweisen. Der Konstrukteur Die Funktion erstellt eine neue Instanz der Struktur und legt die Standardwerte für ihre Felder fest. Diese Methode spart Aufwand und Zeit, insbesondere bei der Interaktion mit großen Strukturen mit zahlreichen Feldern.

Hier ist ein Beispiel für die Definition von a Konstrukteur Funktion mit Standardfeldwerten für eine Struktur:

Paket main

importieren „fmt“

Typ Personenstruktur {
Namenszeichenfolge
Alter     int
Adresszeichenfolge
}
Funktion NewPerson ( ) * Person {
zurückkehren & Person {
Name: 'John Doe' ,
Alter: 30 ,
Adresse: „123 Hauptstraße“ ,
}
}
Funktion main ( ) {
p := NeuePerson ( )
fmt.Println ( p.Name, p.Alter, p.Adresse )
}

Im obigen Code a Person struct ist definiert, ebenso wie die neue Person() Funktion, die eine neue Instanz von erzeugt Person Struktur mit vorgegebenen Standardwerten. Wir nennen neue Person() In hauptsächlich() um eine neue Personeninstanz mit zu erstellen Standardfeldwerte , und wir drucken dann die Werte der Felder dieser Instanz aus.

Ausgang

3: Strukturliterale

In Golang können Sie mithilfe von Standardwerte für Strukturfelder festlegen Strukturliterale sowie. Erstellen Sie einfach eine neue Instanz der Struktur und legen Sie die Werte für jedes Feld fest, das initialisiert werden muss. Wenn Sie Standardwerte für Felder festlegen möchten, die Sie nicht explizit initialisieren, können Sie die Nullwertfunktion verwenden.

Hier ist ein Beispiel für die Verwendung Strukturliterale So legen Sie Standardfeldwerte für eine Struktur fest:

Paket main

importieren „fmt“

Typ Personenstruktur {
Namenszeichenfolge
Alter     int
Adresszeichenfolge
}
Funktion main ( ) {
p := Person {
Name: 'John Doe' ,
Alter: 30 ,
}
fmt.Println ( p.Name, p.Alter, p.Adresse )
}

Im obigen Code definieren wir a Person struct in diesem Beispiel und erstellen Sie eine neue Instanz davon unter Verwendung eines Strukturliterals und Standardwerten für seine Felder. Ein neuer Person Die Instanz wird in main() erstellt, wobei einige Feldwerte ausgefüllt und andere leer gelassen werden. Seit der Adresse Wenn das Feld nicht initialisiert ist, erhält es die leere Zeichenfolge, die den Standardwert für dieses Feld darstellt. Zum Schluss drucken wir die Feldwerte der Person-Instanz.

Ausgang

4: Standardfeldwerte

Zuweisen Standardwerte Zu Strukturfelder in Go ist ein unkomplizierter Prozess. Der Standardwert für ein Strukturfeld kann mithilfe der Syntax festgelegt werden Feldname:Standardwert . Betrachten Sie beispielsweise die folgende Strukturdefinition:

Typ Personenstruktur {
Namenszeichenfolge
Alter int
Geschlechtszeichenfolge
}

Zuweisen Standardwerte Für die Felder dieser Struktur können wir die folgende Syntax verwenden:

p := Person {
Name: 'John Doe' ,
Alter: 30 ,
Geschlecht: 'Männlich' ,
}

Im obigen Beispiel haben wir zugewiesen Standardwerte zu den Feldern der Personenstruktur. Wenn wir während der Initialisierung einen der Werte weglassen, wird der Standardwert wird stattdessen verwendet. Wenn wir beispielsweise ein Person-Objekt wie folgt initialisieren:

p := Person {
Name: „Jane Doe“ ,
}

Das resultierende Person-Objekt hat das Standardwerte für die Felder „Alter“ und „Geschlecht“, die jeweils 0 und eine leere Zeichenfolge sind.

Hier ist ein vollständiger Code, der den obigen Prozess veranschaulicht:

Paket main
importieren „fmt“

Typ Personenstruktur {
Namenszeichenfolge
Alter    int
Geschlechtszeichenfolge
}
Funktion main ( ) {
p1 := Person {
Name: 'John Doe' ,
Alter: 30 ,
Geschlecht: 'Männlich' ,
}
fmt.Println ( p1 )

p2 := Person {
Name: „Jeremy“ ,
}
fmt.Println ( p2 )
}

Im obigen Beispiel erstellen wir eine Person-Struktur mit drei Feldern: Name, ein Ganzzahlwert, der das Alter darstellt, und Geschlecht, ein String, der das Geschlecht darstellt. Anschließend wird die Strukturinitialisierungssyntax verwendet, um zwei Person-Instanzen, p1 und p2, zu erstellen. p1 wird mit den Werten „John Doe“ für Name, „30“ für Alter und „Male“ für Geschlecht initialisiert. Dabei handelt es sich allesamt um Werte, die ausdrücklich bereitgestellt wurden. Da wir für Alter und Geschlecht keine Werte angegeben haben, werden ihnen die Standardwerte 0 bzw. eine Leerzeichenfolge zugewiesen. p2 wird zunächst nur mit dem bereitgestellten Namensfeld initialisiert.

Ausgang

Abschluss

Zuweisen Standardwerte in Go ist ein wesentlicher Aspekt der Programmierung mit dieser Sprache. Dadurch wird sichergestellt, dass jeder erstellten Strukturinstanz Standarddaten zugewiesen sind. Mithilfe einer der oben erläuterten Methoden können Entwickler das festlegen Standardwerte von Strukturfeldern effizient.