Zugriff auf Struct-Felder
Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 96 von 109.
Um auf Felder in einem Struct zuzugreifen, verwenden Sie die Punktnotation (structVariable.fieldName).
Erstellen Sie ein Person-Struct und greifen Sie auf dessen Felder zu:
type Person struct {
name string
age int
}
func main() {
person := Person{name: "Alice", age: 30}
// Auf einzelne Felder zugreifen
fmt.Println(person.name)
fmt.Println(person.age)
}Die Ausgabe zeigt die einzelnen Feldwerte:
Alice
30Sie können Feldwerte auch mit derselben Punktnotation ändern:
person.age = 31
fmt.Println(person.age) // Gibt aus: 31Aufgabe
EinfachIn dieser Challenge wirst du üben, auf Felder eines Structs zuzugreifen. Wir haben ein Person-Struct mit den Feldern name, age und isStudent definiert.
Deine Aufgabe ist es, auf diese Felder zuzugreifen und sie mit den korrekten Format-Verben auszugeben.
Spickzettel
Um auf Felder in einem Struct zuzugreifen, verwenden Sie die Punktnotation (structVariable.fieldName):
type Person struct {
name string
age int
}
func main() {
person := Person{name: "Alice", age: 30}
// Auf einzelne Felder zugreifen
fmt.Println(person.name)
fmt.Println(person.age)
}Sie können Feldwerte auch mithilfe der Punktnotation ändern:
person.age = 31
fmt.Println(person.age) // Gibt aus: 31Probier es selbst
package main
import "fmt"
func main() {
// Person-Struktur mit drei Feldern
type Person struct {
name string
age int
isStudent bool
}
// Eine Beispielperson
john := Person{
name: "John Doe",
age: 25,
isStudent: true,
}
// TODO: Geben Sie Johns Namen mit fmt.Printf und dem Format-Verb %s aus
fmt.Printf("Name: %s\n", ?)
// TODO: Geben Sie Johns Alter mit fmt.Printf und dem Format-Verb %d aus
fmt.Printf("Age: %d\n", ?)
// TODO: Geben Sie mit fmt.Printf und dem Format-Verb %t aus, ob John ein Student ist
fmt.Printf("Is student: %t\n", ?)
}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