Menu
Coddy logo textTech

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}
challenge icon

Aufgabe

Anfänger

In 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)
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen