Struct-Instanzen erstellen
Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 95 von 109.
Nachdem Sie einen struct-Typ definiert haben, müssen Sie Instanzen (Werte) dieses Typs erstellen, um sie in Ihrem Programm zu verwenden.
Definieren Sie ein Person-Struct:
type Person struct {
name string
age int
}
func main() {
// Create a Person instance
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}Die Ausgabe zeigt die Struct-Instanz mit ihren Feldwerten:
{Alice 30}Sie können auch ein Struct mit Nullwerten erstellen, indem Sie Felder weglassen:
person2 := Person{} // Erstellt {name:"", age:0}Aufgabe
AnfängerIn dieser Herausforderung wirst du üben, Instanzen eines Structs zu erstellen. Ein Person Struct wurde bereits mit Feldern für name, age und isStudent definiert.
Deine Aufgabe ist es, eine neue Instanz des Person Structs mit den folgenden Informationen zu erstellen:
- Name: "Alice"
- Alter: 25
- IsStudent: true
Anschließend wird das Programm die Informationen der Person ausgeben.
Spickzettel
Um Instanzen eines Structs zu erstellen, verwenden Sie den Namen des Structs gefolgt von Feldwerten in geschweiften Klammern:
type Person struct {
name string
age int
}
// Erstellen einer Struct-Instanz mit Feldwerten
person1 := Person{name: "Alice", age: 30}
// Erstellen eines Structs mit Nullwerten (leere Felder)
person2 := Person{} // Erzeugt {name:"", age:0}Probier es selbst
package main
import "fmt"
// Definition der Person-Struktur
type Person struct {
name string
age int
isStudent bool
}
func main() {
// TODO: Erstelle eine neue Person-Struktur-Instanz mit
// name: "Alice", age: 25, isStudent: true
// Den untenstehenden Code nicht ändern
fmt.Printf("Name: %s\n", person.name)
fmt.Printf("Age: %d\n", person.age)
fmt.Printf("Is Student: %t\n", person.isStudent)
}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