Structs initialisieren
Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 98 von 109.
Es gibt mehrere Möglichkeiten, Structs in Go zu initialisieren. Lassen Sie uns die gängigsten Methoden untersuchen.
Erstellen Sie ein Struct mit Feldnamen:
type Person struct {
name string
age int
}
func main() {
// Mit Feldnamen initialisieren
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}Die Ausgabe zeigt unser initialisiertes Struct:
{Alice 30}Sie können ein Struct auch ohne Feldnamen initialisieren, müssen die Werte jedoch in der richtigen Reihenfolge angeben:
person2 := Person{"Bob", 25}
fmt.Println(person2)Ergebnis:
{Bob 25}Erstellen Sie eine leere Struktur mit Nullwerten:
person3 := Person{}
fmt.Println(person3)Ergebnis:
{ 0}Aufgabe
AnfängerIn dieser Herausforderung wirst du das Initialisieren eines Structs in Go üben. Wir haben ein Person-Struct mit Feldern für den Namen, das Alter und die Information, ob die Person angestellt ist, definiert.
Deine Aufgabe ist es, eine neue Person-Struct-Instanz mit den folgenden Informationen zu initialisieren:
- Name: "Alice"
- Age: 28
- IsEmployed: true
Anschließend werden wir die Informationen über diese Person ausgeben.
Spickzettel
Es gibt mehrere Möglichkeiten, Structs in Go zu initialisieren:
Mit Feldnamen initialisieren:
person1 := Person{name: "Alice", age: 30}Ohne Feldnamen initialisieren (Werte müssen in der richtigen Reihenfolge sein):
person2 := Person{"Bob", 25}Leeres Struct mit Nullwerten erstellen:
person3 := Person{}Probier es selbst
package main
import "fmt"
// Person Strukturdefinition
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: Initialisiere eine Person-Struktur mit dem Namen "Alice", Alter 28 und isEmployed true
// Verwende entweder die Feldnamen oder die Struktur-Literal-Syntax
var alice Person
// Die Informationen der Person ausgeben
fmt.Printf("Name: %s\n", alice.Name)
fmt.Printf("Age: %d\n", alice.Age)
fmt.Printf("Employed: %t\n", alice.IsEmployed)
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- & logische Operatoren
Vergleichsoperatoren - Teil 1Vergleichsoperatoren - Teil 2Logischer UND-OperatorLogischer ODER-OperatorLogischer NICHT-OperatorGrundlagen der OperatorrangfolgeZusammenfassung - Vergleiche anstellen7Kontrollfluss: Schleifen
Die `for`-Schleife erklärtfor-Schleife - Grundlagenfor-Schleife - Nur BedingungDas `break`-SchlüsselwortDas `continue`-SchlüsselwortVerschachtelte SchleifenZusammenfassung - Aktionen wiederholen10Zusammengesetzte Typen: Arrays
Einführung in ArraysDeklarieren von ArraysInitialisieren von ArraysZugriff auf Array-ElementeArray-Länge mit `len`Iterieren über ArraysMehrdimensionale Arrays13Zusammengesetzte Typen: Structs
Benutzerdefinierte Typen definierenStruct-Instanzen erstellenZugriff auf Struct-FelderPointer auf StructsStructs initialisierenEingebettete StructsAnonyme StructsZusammenfassung – Benutzerdefinierte Datenstrukturen2Variablen und grundlegende Datentypen
Was ist eine VariableTypinferenz mit `:=`Ganzzahlen (int)GleitkommazahlenBoolesche WerteStringsZero ValuesKonstantenNamenskonventionenZusammenfassung - Variablen und Typen5Grundlagen der Ein- und Ausgabe
Formatierte AusgabeFormat-VerbenTypen ausgebenEinfache Benutzereingaben erhaltenZusammenfassung – Ein- und Ausgabe8Funktionen
Funktionen verstehenEine Funktion deklarierenFunktionen aufrufenFunktionsparameterEinen einzelnen Wert zurückgebenMehrere Werte zurückgebenBenannte RückgabewerteGrundlagen des Funktions-ScopesZusammenfassung – Wiederverwendbaren Code erstellen3Grundlegende Operatoren
Arithmetische OperatorenDivisionsoperatorDer Modulo-OperatorZuweisungsoperatorKombinierte ZuweisungsoperatorenInkrement und DekrementZusammenfassung - Berechnungen6Kontrollfluss: Bedingte Anweisungen
Die `if`-AnweisungDas `else`-SchlüsselwortDas `else if`-SchlüsselwortVariable Shadowing in `if`Variablen initialisierenDie `switch`-AnweisungSwitch mit AusdrückenSwitch ohne AusdruckDas `fallthrough`-SchlüsselwortZusammenfassung – Entscheidungen treffen9Zeiger
Was ist ein Zeiger?Deklarieren von ZeigervariablenDer AdressoperatorDereferenzieren von ZeigernVerwendung von Zeigern in FunktionenNil-ZeigerZusammenfassung – Zeiger verstehen12Zusammengesetzte Typen: Maps
Einführung in MapsDeklarieren von Map-LiteralenErstellen von Maps mit `make`Hinzufügen und Aktualisieren von Key-Value-PaarenZugriff auf Map-WerteÜberprüfen der Existenz von SchlüsselnLöschen von Map-EinträgenMap-LängeIterieren über MapsZusammenfassung – Key-Value-Speicher