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. Sehen wir uns die gängigsten Methoden an.
Erstelle eine Struktur 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 unsere initialisierte Struktur:
{Alice 30}Du kannst eine Struktur auch ohne Feldnamen initialisieren, aber du musst die Werte in der richtigen Reihenfolge angeben:
person2 := Person{"Bob", 25}
fmt.Println(person2)Ergebnis:
{Bob 25}Erstelle eine leere Struktur mit Nullwerten:
person3 := Person{}
fmt.Println(person3)Ergebnis:
{ 0}Aufgabe
AnfängerIn dieser Aufgabe übst du, eine Struktur in Go zu initialisieren. Wir haben eine Person-Struktur mit Feldern für den Namen, das Alter und die Frage, ob die Person beschäftigt ist, definiert.
Deine Aufgabe besteht darin, eine neue Instanz der Person-Struktur mit den folgenden Informationen zu initialisieren:
- Name: "Alice"
- Alter: 28
- IsEmployed: true
Anschließend geben wir die Informationen über diese Person aus.
Probier es selbst
package main
import "fmt"
// Definition der Person-Struktur
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: Initialize a Person struct with name "Alice", age 28, and isEmployed true
// Verwende entweder die Feldnamen oder die Struct-Literal-Syntax
var alice Person
// Gib die Informationen der Person aus
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- und logische Operatoren
Vergleichsoperatoren – Teil 1Vergleichsoperatoren – Teil 2Logischer UND-OperatorLogischer ODER-OperatorLogischer NICHT-OperatorGrundlagen der OperatorrangfolgeZusammenfassung – Vergleiche durchführen7Kontrollfluss: Schleifen
Die `for`-Schleife erklärt`for`-Schleife – Grundlagen`for`-Schleife – nur BedingungDas Schlüsselwort `break`Das Schlüsselwort `continue`Verschachtelte SchleifenWiederholung – Aktionen wiederholen10Zusammengesetzte Typen: Arrays
Einführung in ArraysArrays deklarierenArrays initialisierenAuf Array-Elemente zugreifenArray-Länge mit `len`Arrays durchlaufenMehrdimensionale Arrays13Zusammengesetzte Typen: Structs
Benutzerdefinierte Typen definierenStruct-Instanzen erstellenAuf Struct-Felder zugreifenPointer auf StructsStructs initialisierenEingebettete StructsAnonyme StructsRückblick – Benutzerdefinierte Datenstrukturen2Variablen und grundlegende Datentypen
Was ist eine VariableTypinferenz mit `:=`Ganzzahlen (int)GleitkommazahlenBoolesche WerteZeichenkettenNullwerteKonstantenNamenskonventionenRückblick – Variablen und Typen5Grundlegende Ein- und Ausgabe
Formatierte AusgabeFormatierungsverbenDatentypen ausgebenGrundlegende Benutzereingaben erhaltenRückblick – Ein- und Ausgabe8Funktionen
Funktionen verstehenEine Funktion deklarierenFunktionen aufrufenFunktionsparameterEinen einzelnen Wert zurückgebenMehrere Werte zurückgebenBenannte RückgabewerteGrundlagen des FunktionsumfangsRückblick – Wiederverwendbaren Code erstellen3Grundlegende Operatoren
Arithmetische OperatorenDivisionsoperatorDer Modulo-OperatorZuweisungsoperatorErweiterte ZuweisungsoperatorenInkrement und DekrementRückblick – Berechnungen6Kontrollfluss: Bedingungen
Die `if`-AnweisungDas `else`-SchlüsselwortDas `else if`-SchlüsselwortVariablen-Shadowing in `if`Variablen initialisierenDie `switch`-AnweisungSwitch mit AusdrückenSwitch ohne AusdruckDas `fallthrough`-SchlüsselwortZusammenfassung – Entscheidungen treffen9Zeiger
Was ist ein Zeiger?Zeigervariablen deklarierenDer AdressoperatorZeiger dereferenzierenZeiger in Funktionen verwendenNil-ZeigerRückblick – Zeiger verstehen12Zusammengesetzte Datentypen: Maps
Einführung in MapsMap-Literale deklarierenMaps mit `make` erstellenSchlüssel-Wert-Paare hinzufügen und aktualisierenAuf Map-Werte zugreifenDas Vorhandensein eines Schlüssels prüfenMap-Einträge löschenLänge von MapsMaps durchlaufenZusammenfassung – Schlüssel-Wert-SpeicherungÜbe selbstständig: Online-Go-Compiler