Heim Backend-Entwicklung Golang So initialisieren Sie Mitgliedsvariablen einer Struktur in der Go-Sprache

So initialisieren Sie Mitgliedsvariablen einer Struktur in der Go-Sprache

Jun 07, 2021 pm 03:31 PM
Gehen Sie Sprache Initialisierung Mitgliedsvariablen Struktur

Initialisierungsmethode: 1. Verwenden Sie zum Initialisieren die Anweisung „ins: = Strukturtypname {Feld 1: Wert, Feld 2: Wert, ...}“, die zum selektiven Füllen von Strukturen mit vielen Feldern geeignet ist „ins: = Strukturtypname {Wert von Feld 1, Wert von Feld 2,...}“-Anweisungsinitialisierung, geeignet für Strukturen mit weniger Feldern.

So initialisieren Sie Mitgliedsvariablen einer Struktur in der Go-Sprache

Die Betriebsumgebung dieses Tutorials: Windows 10-System, GO 1.11.2, Dell G3-Computer.

Strukturen können Mitgliedsvariablen beim Instanziieren direkt initialisieren. Es gibt zwei Formen der Initialisierung: Die Initialisierung in Form von Schlüssel-Wert-Paaren eignet sich zum selektiven Füllen von Feldern Die Listenform mit mehr Strukturen und mehreren Werten eignet sich für Strukturen mit weniger ausgefüllten Feldern.

Verwenden Sie ein „Schlüssel-Wert-Paar“, um die Struktur zu initialisieren.

Die Struktur kann ein „Schlüssel-Wert-Paar“ (Schlüssel-Wert-Paar) verwenden, um die Felder zu initialisieren „Wert“ des Schlüssels entspricht dem Wert, auf den das Feld initialisiert werden muss.

Das Ausfüllen von Schlüssel-Wert-Paaren ist optional und Felder, die nicht initialisiert werden müssen, müssen nicht in der Initialisierungsliste ausgefüllt werden.

Der Standardwert des Felds nach der Instanziierung der Struktur ist der Standardwert des Feldtyps. Der Wert ist beispielsweise 0, die Zeichenfolge ist „“ (leere Zeichenfolge), der Boolesche Wert ist falsch, der Zeiger ist Null. usw.

1) Schreibformat der Schlüssel-Wert-Paar-Initialisierungsstruktur

Das Format der Schlüssel-Wert-Paar-Initialisierung ist wie folgt:

ins := 结构体类型名{
    字段1: 字段1的值,
    字段2: 字段2的值,
    …
}

Im Folgenden finden Sie eine Beschreibung jedes Teils:

  • Strukturtyp: der Typ bei der Definition des Strukturnamens.

  • Feld 1, Feld 2: Feldnamen von Strukturelementen, Feldnamen können nur einmal in der Feldinitialisierungsliste der Strukturtypnamen erscheinen.

  • Der Wert von Feld 1, der Wert von Feld 2: der Anfangswert des Strukturelementfelds.

Schlüsselwerte werden durch :分隔,键值对之间以, getrennt.

2) Beispiel für die Verwendung von Schlüssel-Wert-Paaren zum Füllen einer Struktur

Das folgende Beispiel beschreibt die Beziehung zwischen Charakteren in der Familie, genau wie das Kinderlied: „Papas Papa ist Opa“, mehrstufige Kinder können sein Wird zwischen Zeichen verwendet. Um Assoziationen zu beschreiben und herzustellen, lautet der Code zum Füllen der Struktur mithilfe von Schlüssel-Wert-Paaren wie folgt:

type People struct {
    name  string
    child *People
}
relation := &People{
    name: "爷爷",
    child: &People{
        name: "爸爸",
        child: &People{
                name: "我",
        },
    },
}

Die Codebeschreibung lautet wie folgt:

  • Zeile 1 definiert die Personenstruktur.

  • Zeile 2, String-Feld der Struktur.

  • Zeile 3, das Strukturzeigerfeld der Struktur, der Typ ist *Personen.

  • Zeile 6: Nachdem die Relation die Adresse vom Typ „People“ übernimmt, wird eine Instanz vom Typ *People gebildet.

  • Zeile 8: Beim Initialisieren des Kindes wird ein Wert vom Typ *People benötigt und die Adresse wird zum Initialisieren eines People verwendet.

Tipps: Strukturmitglieder können nur Zeigertypen der Struktur enthalten, die zu Kompilierungsfehlern führen.

Verwenden Sie eine Liste mit mehreren Werten, um die Struktur zu initialisieren.

Die Go-Sprache kann den „Schlüssel“ auf der Grundlage der „Schlüssel-Wert-Paar“-Initialisierung ignorieren, dh Sie können eine Liste mit mehreren Werten verwenden Werte zum Initialisieren des Strukturfelds.

1) Schreibformat der Initialisierungsstruktur für mehrere Wertelisten

Verwenden Sie Kommas, um mehrere Werte zu trennen, um die Struktur zu initialisieren, zum Beispiel:

ins := 结构体类型名{
    字段1的值,
    字段2的值,
    …
}

Bei der Initialisierung mit diesem Format müssen Sie Folgendes beachten:

  • Die Struktur muss alle Felder des Körpers initialisieren.

  • Die Füllreihenfolge jedes Anfangswerts muss mit der Deklarationsreihenfolge der Felder in der Struktur übereinstimmen.

  • Die Initialisierungsformen von Schlüssel-Wert-Paaren und Wertelisten können nicht gemischt werden.

2) Beispiele für Initialisierungsstrukturen mit mehreren Wertelisten

Das folgende Beispiel beschreibt eine Adressstruktur, und die Adressen müssen in einer bestimmten Reihenfolge vorliegen, zum Beispiel:

type Address struct {
    Province    string
    City        string
    ZipCode     int
    PhoneNumber string
}
addr := Address{
    "四川",
    "成都",
    610000,
    "0",
}
fmt.Println(addr)

Führen Sie den Code aus, die Ausgabe lautet wie folgt:

{四川 成都 610000 0}

Empfohlenes Lernen: Golang Tutorial

Das obige ist der detaillierte Inhalt vonSo initialisieren Sie Mitgliedsvariablen einer Struktur in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1591
276
Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Apr 02, 2025 pm 04:54 PM

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...

Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Apr 02, 2025 pm 05:09 PM

Was soll ich tun, wenn die benutzerdefinierten Strukturbezeichnungen in Goland nicht angezeigt werden? Bei der Verwendung von Goland für GO -Sprachentwicklung begegnen viele Entwickler benutzerdefinierte Struktur -Tags ...

Wie kann man in Go -Programmierung die Verbindungsressourcen zwischen MySQL und Redis korrekt verwalten? Wie kann man in Go -Programmierung die Verbindungsressourcen zwischen MySQL und Redis korrekt verwalten? Apr 02, 2025 pm 05:03 PM

Ressourcenverwaltung in Go -Programmierung: MySQL und Redis Connect und Release, um zu lernen, wie Ressourcen korrekt verwaltet werden, insbesondere mit Datenbanken und Caches ...

CentOS PostgreSQL -Ressourcenüberwachung CentOS PostgreSQL -Ressourcenüberwachung Apr 14, 2025 pm 05:57 PM

Detaillierte Erläuterung des PostgreSQL -Datenbank -Ressourcenüberwachungsschemas unter CentOS -System In diesem Artikel wird eine Vielzahl von Methoden eingeführt, um die PostgreSQL -Datenbankressourcen auf CentOS -System zu überwachen und Ihnen dabei zu helfen, potenzielle Leistungsprobleme rechtzeitig zu entdecken und zu lösen. 1. Verwenden Sie die integrierten Tools und Ansichten von PostgreSQL. PG_Stat_Statements: Sammeln Sie die SQL -Anweisungsstatistiken und analysieren Sie Abfragen -Performance -Engpässe. PG_STAT_DATABASE: Bietet Statistiken auf Datenbankebene, wie z. B. Transaktionszahl, Cache-Treffer

Go vs. andere Sprachen: Eine vergleichende Analyse Go vs. andere Sprachen: Eine vergleichende Analyse Apr 28, 2025 am 12:17 AM

GoisastrongchoiceForProjectSeNeedingImplication, Leistung und Konkurrenz, ButitmaylackinadvancedFeatures undcosystemmaturity.1) Go'SSYNTAXISMPEANDEALEDELTOLEARN, FEHTTOFEWERBUGSANDMOREMINTAINABLECODE, obwohl es sich

Häufige Anwendungsfälle für die Init -Funktion in GO Häufige Anwendungsfälle für die Init -Funktion in GO Apr 28, 2025 am 12:13 AM

ThecommonusecasesFortheinitfunctioningoare: 1) LadekonfigurationsfiguresbeforethemaProgramstarts, 2) Initialisierungsglobalvariablen und 3) RunningPre-ChecksorvalidationsBeforTheProgramProcececececeers.

Wie verwendete ich Funktionen in verschiedenen Dateien in demselben Paket? Wie verwendete ich Funktionen in verschiedenen Dateien in demselben Paket? Apr 02, 2025 pm 05:00 PM

Wie verwende ich Kleinbuchstaben in verschiedenen Dateien im selben Paket? Auf Go ...

Backend Development Language Performance PK: Welche Sprache spart die meisten Ressourcen? Backend Development Language Performance PK: Welche Sprache spart die meisten Ressourcen? Apr 02, 2025 pm 04:27 PM

Vergleich der Back-End-Entwicklungssprache: Diskussion zur Ressourcenauslastung Die Auswahl der richtigen Programmiersprache und -rahmen ist für die Back-End-Entwicklung von entscheidender Bedeutung, insbesondere für den Ressourcengewinn ...

See all articles