Kursinhalt
Einführung in Golang
Einführung in Golang
Erstellen von Structs
Bis zu diesem Punkt haben wir mit Variablen verschiedener grundlegender Datentypen gearbeitet, wie int, float32, string und so weiter. Wir haben jedoch die Möglichkeit, neue Datentypen zu erstellen, die im Wesentlichen Sammlungen anderer Datentypen sind.
Structs, auch als Strukturen bekannt, sind im Wesentlichen benutzerdefinierte Datentypen. Daher kann ein Struct manchmal auch als ein Datentyp bezeichnet werden.
In dem obigen Bild haben wir eine Darstellung einer Struktur namens Person
, die Felder verschiedener Datentypen umfasst, insbesondere name
, age
und salary
. Eine Struktur selbst dient als Blaupause, die definiert, welche Daten in einer Instanz ihres Typs gespeichert werden. Wir können eine Instanz erstellen, im Wesentlichen eine Variable, die den Datentyp Person
verwendet, und dann den Namen, das Alter und das Gehalt einer Person darin speichern.
Ähnlich können wir auch Arrays mit dem Datentyp Person
erstellen. Daher sind Strukturen sehr nützlich, wenn wir verwandte Daten auf organisierte Weise speichern und darauf zugreifen möchten.
Der folgende Syntax wird verwendet, um eine Struktur im Code zu deklarieren:
Hinweis
Die Begriffe
type
undstruct
sind Schlüsselwörter in Golang.
Nach dem obigen Syntax können wir das Beispiel der Person
-Struktur implementieren, das oben besprochen wurde:
Im Folgenden ist ein etwas komplizierteres Beispiel, das ebenfalls ein Array enthält:
index
type Student struct { name string age int id int course string grades [5]float32 }
Im obigen Beispiel gibt es ein Feld namens grades
, das ein Array der Größe 5
und des Typs float32
ist. In den folgenden Kapiteln werden wir lernen, wie man Strukturdaten speichert, darauf zugreift und sie modifiziert.
Wir können auch andere Strukturen (benutzerdefinierte Datentypen) innerhalb der Definition von Strukturen referenzieren. Zum Beispiel enthält die Course
-Struktur ein Feld namens students
, das ein Slice vom Typ Student
ist:
index
type Course struct { name string students []Student }
Danke für Ihr Feedback!