Was sind Strukturen in Golang

Was Sind Strukturen In Golang



In der Go-Sprache ist eine Struktur eine Sammlung von Variablen (Feldern), die unter einem einzigen Namen gruppiert sind. Es ist ein zusammengesetzter Datentyp, der es uns ermöglicht, benutzerdefinierte Datenstrukturen zu erstellen, um verwandte Informationen zu speichern. Strukturen in Go sind wie Klassen in der objektorientierten Programmierung wie C und C++, aber sie unterstützen keine Vererbung. Stattdessen verlassen sie sich auf die Komposition, um die Wiederverwendung von Code zu erreichen. Dieser Artikel behandelt die Strukturen in Golang und wie wir die Strukturmitglieder deklarieren und darauf zugreifen können.

Was ist eine Struktur in Golang

In Golang ist eine Struktur ein zusammengesetzter Datentyp, der aus null oder mehr benannten Feldern besteht, von denen jedes einen bestimmten Typ hat. Die Felder einer Struktur können von beliebigem Typ sein, einschließlich anderer Strukturen, Arrays, Funktionen oder Schnittstellen.







Hier ist ein Beispiel für eine Struktur in Golang:



Typ Personenstruktur {
FullName-String
Jahre alt int
Standort-Adresse
}
Typ Adressstruktur {
Straßenname String
CityName    String
CountryName-String
}


Hier haben wir eine Personenstruktur mit drei Feldern definiert: FullName, YearsOld und Location. Das Feld Location ist selbst eine Struktur mit drei Feldern: StreetName, CityName und CountryName.



So deklarieren Sie Struct in Golang

Wir können eine Struktur in Golang mit deklarieren Typ Stichwort. Der Name der Struktur wird nach dem definiert Typ Schlüsselwort, und seine Felder sind in geschweiften Klammern eingeschlossen {} . Hier ist die Syntax zum Deklarieren einer Struktur in Go:





Typ StructName-Struktur {
Feldname1 Feldtyp1
Feldname2 Feldtyp2
...
}


Unten sehen Sie ein Beispiel dafür, wie Sie eine Struktur namens Person mit zwei Feldern name und age vom Typ string bzw. int deklarieren:

Typ Personenstruktur {
Namenskette
Alter int
}


Im obigen Code haben wir die verwendet Typ Schlüsselwort, um eine neue Struktur mit dem Namen zu deklarieren Person mit zwei Feldern Name vom Typ String und Alter vom Typ int. Die Felder sind durch a getrennt Neue Zeile Charakter, aber a Semikolon (;) kann auch zum Trennen verwendet werden.



So greifen Sie auf Struct Member in Golang zu

Zugriff auf die Felder einer Strukturinstanz in der Go-Sprache Punkt („.“) Betreiber verwendet wird. Auf diesen Punktoperator folgt ein Feldname. Hier ist ein Beispiel für den Zugriff auf die Namens- und Altersfelder einer Person-Strukturinstanz:

// Erstelle eine neue ` Person ` struct-Instanz mit Namen 'Kasse' und Alter 24
kash := Person { Name: 'Kasse' , Alter: 24 }

// Greifen Sie auf die Felder der zu ` Kasse ` struct-Instanz
fmt.Println ( kash.name ) // Ausgang: 'Kasse'
fmt.Println ( kash.age ) // Ausgang: 24


Im obigen Code haben wir eine neue Person-Strukturinstanz namens kash mit dem Namen erstellt Kasse und Alter 24 . Wir greifen dann mit dem auf die Namens- und Altersfelder der kash-Strukturinstanz zu („.“) Bediener und drucken Sie sie auf der Konsole aus.

Es ist wichtig zu beachten, dass auf die Felder einer Strukturinstanz mit der Punktnotation zugegriffen wird und nicht mit der Pfeil Notation (->) in einigen anderen Programmiersprachen verwendet. Die Punktnotation wird in Go durchgehend für den Zugriff auf Felder von Strukturen sowie auf Eigenschaften und Methoden anderer Typen verwendet.

Beispielcode zum Deklarieren und Zugreifen auf das Struct-Member in Golang

Nachfolgend finden Sie ein vollständiges Beispiel für die Deklaration der Person-Struktur in Go und die Ausgabe ihrer Werte auf dem Bildschirm:

Paket Haupt
importieren 'fmt'
Typ Personenstruktur {
Namenskette
Alter int
}
func main ( ) {
// Erstelle eine neue ` Person ` struct-Instanz mit Namen 'Kasse' und Alter 24
kash := Person { Name: 'Kasse' , Alter: 24 }
// Drucken Sie die ` Name ` Und ` Alter ` von ` Kasse ` struct-Instanz an die Konsole
fmt.Printf ( 'Name: %s \N ' , kash.name )
fmt.Printf ( 'Alt \N ' , kash.alter )
}


Im oben geschriebenen Code haben wir zuerst die deklariert Person Struktur. Diese Struktur enthält zwei Felder, nämlich Name und Alter. Danach haben wir eine neue Person-Strukturinstanz namens kash mit dem Namen erstellt Kasse und Alter 24 .

Um Namens- und Altersfelder anzuzeigen, verwenden wir die fmt.Printf Funktion mit der %S Und %D Formatbezeichner, um die Namens- bzw. Altersfelder zu drucken.

Nach dem Ausführen erscheint der folgende Code auf der Konsole:

So übergeben Sie Struct als Funktionsargumente

Um eine Struktur als Funktionsargument in Go zu übergeben, müssen wir einfach den Strukturtyp als Parametertyp in der Funktionssignatur angeben und dann die Strukturinstanz als Argument übergeben, wenn die Funktion aufgerufen wird.

Beispielcode

Das folgende Beispiel zeigt, wie eine Person-Strukturinstanz als Argument an eine Funktion in der Go-Sprache übergeben und ihre Werte auf dem Bildschirm ausgegeben werden:

Paket Haupt
importieren 'fmt'
// Deklarieren Sie eine Struktur mit dem Namen ` Person ` mit zwei Feldern: ` Name ` Und ` Alter `
Typ Personenstruktur {
Namenskette
Alter int
}
// Erklären Sie a Funktion genannt ` druckenPerson ` das dauert ein ` Person ` Struktur als ein Argument
func printPerson ( p Person ) {
fmt.Printf ( 'Name: %s \N ' , p.name )
fmt.Printf ( 'Alt \N ' , Buchseite )
}
func main ( ) {
// Erstelle eine neue ` Person ` struct-Instanz mit Namen 'Kasse' und Alter 24
kash := Person { Name: 'Kasse' , Alter: 24 }
// Übergeben Sie die ` Kasse ` struct-Instanz auf die ` druckenPerson ` Funktion
druckenPerson ( Kasse )
}


Im obigen Code haben wir zuerst die Person-Struktur mit zwei Feldern deklariert, Name, Und Alter . Dann deklarieren wir eine Funktion namens druckenPerson die eine Person-Struktur als Argument nimmt und ihre Namens- und Altersfelder mit der Funktion fmt.Printf auf dem Bildschirm ausgibt.

In der main-Funktion haben wir eine neue Person-Strukturinstanz namens kash mit dem Namen erstellt Kasse und Alter 24. Wir übergeben dann die kash-Strukturinstanz an die Funktion printPerson, indem wir die Funktion printPerson aufrufen und übergeben Kasse als Argument.

Die folgende Ausgabe ist auf der Konsole zu sehen, nachdem der obige Code ausgeführt wurde:

Abschluss

In Golang können Strukturen komplexe Datentypen darstellen und verwandte Daten kapseln. Eine Struktur ist ein Datentyp, der aus einem oder mehreren Feldern besteht, von denen jedes einen bestimmten Namen und Typ erhält. Die Felder einer Struktur können von beliebigem Typ sein, einschließlich anderer Strukturen, Arrays, Funktionen oder Schnittstellen. In diesem Artikel wurden Go-Strukturen ausführlich behandelt. Weitere Informationen zum Deklarieren und Zugreifen auf die Strukturelemente finden Sie im Artikel.