Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich Strukturen in Go?

Wie verwende ich Strukturen in Go?

PHPz
PHPzOriginal
2023-05-11 16:34:42903Durchsuche

Beim Entwerfen eines Programms ist die Verwendung von Strukturen eine sehr gängige Methode. In der Go-Sprache ist Struktur ein sehr leistungsfähiges Konzept, das uns helfen kann, Code besser zu organisieren und zu verwalten. In diesem Artikel erklären wir ausführlich, wie man Strukturen in Go verwendet.

Was ist eine Struktur?

Struktur ist ein benutzerdefinierter Datentyp, der aus mehreren Datenfeldern besteht. Jedes Feld kann ein beliebiger grundlegender Datentyp sein, beispielsweise eine Zahl, eine Zeichenfolge oder ein boolescher Wert, oder eine Kombination anderer Strukturen. Auf Felder in einer Struktur kann ähnlich wie auf Objekteigenschaften mithilfe der Punktnotation zugegriffen werden.

In Go können Sie Typen verwenden, um Strukturen zu definieren.

type Person struct {

name     string
age      int
language []string

}

Dieses Beispiel definiert eine Struktur namens Person, die drei Felder enthält: Name, Alter und Sprache. name ist vom Typ string, age ist vom Typ int und language ist ein String-Slice. Mit dem folgenden Befehl können wir eine neue Personenstruktur erstellen.

person := Person{name: "Tom", Alter: 25, Sprache: []string{"Chinesisch", "Englisch"}}

Auf die Felder der Struktur kann über Punkte zugegriffen werden:

fmt.Println (Person.Name)

Anonyme Felder in Go-Strukturen

In Go können Sie auch anonyme Felder verwenden, um die Struktur kompakter zu gestalten. Anonyme Felder sind Strukturfelder und haben keinen Namen. Wenn zwei oder mehr Felder denselben Typ haben, können sie als anonyme Felder definiert werden.

Hier ist ein Beispiel, das anonyme Felder unterstützt:

type Person struct {

name string
address

}

type address struct {

street string
city   string
state  string

}

Im obigen Code enthält die Person struct ein anonymes Feld namens address . Die Struktur definiert außerdem einen Adresstyp, der über drei Felder verfügt: Straße, Stadt und Bundesland. Wir können auf solche verschachtelten Felder zugreifen.

person := Person{Name: „Tom“, Adresse: Adresse{Straße: „Main St.“, Stadt: „New York“, Bundesstaat: „NY“}}

fmt.Println(person.address.city )

Verschachtelte Strukturen in Go-Strukturen

Strukturen können ineinander verschachtelt werden, wodurch wir komplexere Datenstrukturen erstellen können. Eine Struktur kann in eine andere Struktur eingebettet sein.

type Person struct {

name    string
contact Contact

}

type Contact struct {

email   string
phone   string
address string

}

Im obigen Code ist eine Kontaktstruktur in der Personenstruktur verschachtelt. Eine neue Personenstruktur kann auf folgende Weise erstellt werden.

person := Person{Name: „Tom“, Kontakt: Kontakt{E-Mail: „tom@gmail.com“, Telefon: „888-888-8888“, Adresse: „Main St.“}}

fmt. Println(person.contact.phone)

Methoden in Go-Strukturen

In Go können Strukturen Methoden definieren, die über Strukturinstanzen aufgerufen werden können. Eine Methode ist eine spezielle Funktion, die nur über eine Struktur aufgerufen werden kann.

Mit dem folgenden Code können wir Methoden hinzufügen.

type Person struct {

name string
age  int

}

func (p Person) sayHello() {

fmt.Printf("Hello, my name is %s, I'm %d years old.

", p.name, p.age)
}

Im obigen Code ist sayHello() eine Namensmethode für die Personenstruktur.

Wir können den folgenden Code verwenden, um diese Methode aufzurufen:

person := Person{name: „Tom“, Alter: 25}
person.sayHello()

Im obigen Beispiel haben wir erstellt Ein Person-Objekt und das Objekt zum Aufrufen der sayHello()-Methode. Diese Methode gibt eine Begrüßung an die Konsole aus.

Fazit: Die Go-Struktur ist ein sehr wichtiges Konzept in der objektorientierten Programmierung In diesem Artikel erklären wir ausführlich, wie man Strukturen in Go verwendet, wie man anonyme Felder und verschachtelte Strukturen verwendet und wie man sie aufruft für Sie und helfen Ihnen, die Go-Sprachprogrammierung besser zu beherrschen.

Das obige ist der detaillierte Inhalt vonWie verwende ich Strukturen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wie führt man Go-Tests durch?Nächster Artikel:Wie führt man Go-Tests durch?