Heim  >  Artikel  >  Backend-Entwicklung  >  Modifikation der Golang-Struktur

Modifikation der Golang-Struktur

WBOY
WBOYOriginal
2023-05-13 11:22:37758Durchsuche

Golang ist eine statisch kompilierte Sprache und ihre Struktur ist ein sehr nützlicher Datentyp. In Golang können Strukturen zur Beschreibung der Eigenschaften und Methoden einer Entität verwendet werden, sie können verschiedene Datentypen speichern und auch mit anderen Strukturen verschachtelt werden, um komplexe Datenstrukturen zu erstellen. Wenn wir jedoch Strukturtypen in Golang verwenden, müssen wir diese manchmal ändern. In diesem Artikel wird erläutert, wie Strukturen in Golang geändert werden.

1. Definition der Struktur

In Golang kann eine Struktur mit einer Reihe von Feldern definiert werden. Sie können den folgenden Code verwenden, um eine Struktur zu definieren, die zwei Felder enthält (eines ist vom Typ int und eines vom Typ string):

type Person struct {
    Age  int
    Name string
}

In diesem Beispiel definieren wir eine Struktur namens Person. Sie hat zwei Felder: Alter und Name. Beachten Sie, dass Strukturfeldnamen mit einem Großbuchstaben beginnen müssen. Auf diese Weise können sie zur Verwendung in anderen Paketen exportiert werden.

2. Initialisierung der Struktur

In Golang können Sie den folgenden Code verwenden, um die Struktur zu initialisieren:

p := Person{Age: 18, Name: "John"}

Dadurch wird eine Person erstellt Das Objekt mit dem Namen p hat eine Age-Eigenschaft von 18 und eine Name-Eigenschaft von „John“.

3. Zugriff auf die Struktur

In Golang können Sie den folgenden Code verwenden, um auf die Felder in der Struktur zuzugreifen:

fmt.Println(p.Age)
p.Age = 20

Das Obige Code wird Das Altersattribut von p wird ausgegeben und auf 20 geändert.

4. Definition von Strukturmethoden

Zusätzlich zur Definition von Strukturen können wir auch Methoden für Strukturen definieren. Eine Methode ist eine Funktion, die auf die Felder einer Struktur zugreifen und die Werte der Struktur lesen und ändern kann. Sie können eine Strukturmethode mit dem folgenden Code definieren:

func (p *Person) SetAge(age int) {
    p.Age = age
}

In diesem Beispiel definieren wir eine Strukturmethode namens SetAge. Es akzeptiert einen Parameter vom Typ int und weist ihn dem Age-Feld der Struktur zu.

5. Änderung der Struktur

In Golang können Sie den Punktoperator verwenden, um auf die Felder der Struktur zuzugreifen, oder Sie können die Werte der Felder ändern der Struktur durch Zeiger. Der folgende Code gibt beispielsweise die Age-Eigenschaft von p aus und ändert sie auf 20.

fmt.Println(p.Age)
p.Age = 20

Wenn Sie den Wert der Struktur innerhalb der Funktion ändern möchten, müssen Sie einen Zeiger verwenden. Zum Beispiel:

func SetName(p *Person, name string) {
    p.Name = name
}

SetName(&p, "Jim")

In diesem Beispiel übergeben wir den Zeiger des Person-Objekts an die SetName-Funktion. Der Funktionsparameter p ist ein Zeiger auf das Personenobjekt, das über den Zeiger in „Jim“ geändert werden kann.

6. Verschachtelung von Strukturen

Strukturen können in anderen Strukturen verschachtelt werden. Dadurch können Sie komplexere Datenstrukturen erstellen. Zum Beispiel:

type Address struct {
    City  string
    State string
}

type Family struct {
    Address Address
    Members []Person
}

In diesem Beispiel definieren wir eine Familienstruktur, wobei Adresse ein verschachtelter Strukturtyp ist, der zwei Felder enthält: Stadt und Bundesland. Die Familienstruktur enthält auch einen Abschnitt mit mehreren Personentypen.

7. Änderung von Strukturen

Wenn Sie verschachtelte Strukturen ändern, müssen Sie wie auf Felder zugreifen, z. B. auf die Adressstruktur in der Familienstruktur: # 🎜🎜#

func SetCity(f *Family, city string) {
    f.Address.City = city
}

SetCity(&f, "New York")
# 🎜🎜#In diesem Beispiel definieren wir eine SetCity-Methode für die Family-Struktur, die einen Zeiger auf das Family-Objekt akzeptiert und sein Address.City-Feld auf „New York“ setzt.

8. Struktur klonen

Manchmal müssen wir ein Strukturobjekt klonen, dann können wir die folgende Methode verwenden:

func Clone(p Person) Person {
    return p
}

c := Clone(p)
#🎜 🎜#In diesem Beispiel definieren wir eine Funktion namens Clone, die ein Person-Objekt akzeptiert und ein neues Person-Objekt zurückgibt und so erfolgreich eine Kopie des Strukturobjekts erstellt.

9. Zusammenfassung

In Golang können Strukturen zum einfachen Speichern und Bedienen komplexer Datentypen verwendet werden. Wenn Sie den Wert der Struktur ändern müssen, können Sie Zeiger verwenden, um darauf zuzugreifen und sie zu ändern. Strukturen können andere Strukturen verschachteln, um komplexere Datenstrukturen zu erstellen. Durch das Klonen einer Struktur können Sie ein neues Strukturobjekt erstellen, was praktischer ist.

Das obige ist der detaillierte Inhalt vonModifikation der Golang-Struktur. 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