Menu
Coddy logo textTech

Structs als Klassen

Teil des Abschnitts Objektorientierte Programmierung der GO-Journey von Coddy. Lektion 6 von 107.

Structs in Go erfüllen denselben Zweck wie Klassen in anderen Sprachen. Sie bündeln zusammengehörige Daten in einem einzigen Typ.

Definiere eine Struktur mit mehreren Feldtypen

type Car struct {
    Brand string
    Model string
    Year  int
    Price float64
}

Erstelle eine Instanz mithilfe von Feldnamen

car := Car{
    Brand: "Toyota",
    Model: "Camry",
    Year:  2023,
    Price: 28000.50,
}

Auf Felder zugreifen und sie ändern

fmt.Println(car.Brand) // Toyota
fmt.Println(car.Year)  // 2023

car.Price = 27000.00   // Ein Feld ändern
fmt.Println(car.Price) // 27000

Structs können andere Structs enthalten

type Engine struct {
    Horsepower int
    FuelType   string
}

type Car struct {
    Brand  string
    Model  string
    Engine Engine
}

car := Car{
    Brand:  "Ford",
    Model:  "Mustang",
    Engine: Engine{Horsepower: 450, FuelType: "Gasoline"},
}
fmt.Println(car.Engine.Horsepower) // 450

Structs gruppieren verwandte Felder. Du greifst mit dem Punktoperator auf Felder zu, und du kannst Structs in andere Structs verschachteln, um komplexe Datenmodelle zu erstellen.

challenge icon

Aufgabe

Mittel

Definiere eine Profile-Struktur mit den folgenden Feldern:

  • Name: string
  • Email: string
  • Age: int
  • Role: string

Probier es selbst

package main

import "fmt"

func main() {
    var name, email, role string
    var age int
    fmt.Scan(&name, &email, &age, &role)

    p := Profile{
        Name:  name,
        Email: email,
        Age:   age,
        Role:  role,
    }

    fmt.Printf("Name: %s\n", p.Name)
    fmt.Printf("Email: %s\n", p.Email)
    fmt.Printf("Age: %d\n", p.Age)
    fmt.Printf("Role: %s\n", p.Role)
}
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 Objektorientierte Programmierung

Übe selbstständig: Online-Go-Compiler