Zum Hauptinhalt springen
Veröffentlicht am

struct in Go

Teilen:

Einführung

In Go ist ein "struct" eine zusammengesetzte Sammlung von Feldern, die es ermöglicht, Variablen verschiedener Typen zu gruppieren. Structs sind äußerst nützlich, um benutzerdefinierte Datentypen zu definieren und zu erstellen, und bieten eine strukturierte Möglichkeit, Entitäten und ihre Attribute darzustellen.

Structs Definieren und Initialisieren

Um einen Struct zu definieren, verwenden wir das Schlüsselwort type, gefolgt vom Namen des Structs und dem Schlüsselwort struct:

type Person struct {
  Name  string
  Alter int
  Email string
}

Um einen Struct zu initialisieren, können wir seinen Feldern Werte mithilfe der Syntax mit geschweiften Klammern zuweisen:

p := Person{"Nelson", 28, "[email protected]"}

Oder unter Verwendung der Feldnamen:

p := Person{
  Name:  "Nelson",
  Alter: 28,
  Email: "[email protected]",
}

Auf Felder des Structs Zugreifen

Um auf ein bestimmtes Feld des Structs zuzugreifen, verwenden wir den .-Operator:

name  := p.Name   // "Nelson"
alter := p.Alter  // 28

Verschachtelte Structs

Es ist möglich, Structs innerhalb anderer Structs zu haben, eine Eigenschaft, die nützlich sein kann, um hierarchische oder komplexe Beziehungen darzustellen:

type Adresse struct {
  Strasse string
  Stadt   string
  Land    string
}

type Person struct {
  Name     string
  Alter    int
  Standort Adresse
}

Zeiger auf Structs

Wie andere Variablen in Go können Structs auch über Zeiger referenziert werden:

zeigerAufPerson := &p
zeigerAufPerson.Name = "Peter"  // Ändert den Namen im ursprünglichen Struct

Methoden und Structs

In Go können wir spezifische Methoden für Structs definieren, die es ermöglichen, bestimmte Operationen mit oder an diesen Structs durchzuführen:

func (p Person) Vorstellen() string {
  return "Hallo, mein Name ist " + p.Name
}

nachricht := p.Vorstellen()  // "Hallo, mein Name ist Nelson"

Fazit

Structs in Go sind mächtige und flexible Werkzeuge, die es uns ermöglichen, klare und organisierte Repräsentationen von Entitäten und ihren Attributen zu erstellen. Structs zu beherrschen ist grundlegend für jeden Go-Entwickler, der robuste und gut strukturierte Anwendungen erstellen möchte.

Happy coding!