Anonyme Strukturen und Felder in Golang

In Golang ermöglichen Strukturen (oder Structs), Elemente unterschiedlichen Typs zu einer Einheit zu gruppieren, was für die Modellierung realer Entitäten nützlich ist. Anonyme Strukturen in Golang sind temporäre Strukturen ohne Namen, die für einmalige Zwecke verwendet werden, während anonyme Felder das Einbetten unbenannter Felder ermöglichen.

Anonyme Strukturen und Felder in Golang

Zum Beispiel:

package main
import "fmt"

// struct học sinh với cấu trúc và trường ẩn danh
type Student struct {
    struct {    // Cấu trúc bên trong ẩn danh cho thông tin cá nhân
        name string
        enrollment int
    }
    GPA float64  // Trường chuẩn
}

func main() {
    student := Student{
        struct {
            name string
            enrollment int
        }{
            name: "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    fmt.Println("Name:", student.name)
    fmt.Println("Enrollment:", student.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Syntax:

variable := struct {
    field1 dataType1
    field2 dataType2                                                          # Cấu trúc ẩn danh
    // Trường bổ sung khi cần
}{value1, value2}


type StructName struct {
    dataType1
    dataType2                                                                    # Trường ẩn danh                                        
    // Trường ẩn danh bổ sung
}

Anonyme Strukturen in Go

Anonyme Strukturen in Go werden ohne Namen definiert und eignen sich zum Erstellen temporärer, verfügbarer Strukturen. Hier ist die Syntax und ein Codebeispiel.

Syntax:

variable := struct {
    field1 dataType1
    field2 dataType2
    // Các trường bổ sung khi cần
}{value1, value2}

Zum Beispiel:

package main
import "fmt"
// Cấu trúc sinh viên với cấu trúc bên trong ẩn danh cho thông tin cá nhân
type Student struct {
    personalDetails struct { // Cấu trúc ẩn danh bên trong cho thông tin cá nhân
        name       string
        enrollment int
    }
    GPA float64 // Trường chuẩn
}
func main() {
    // Khởi tạo cấu trúc bên trong cho student
    student := Student{
        personalDetails: struct {
            name       string
            enrollment int
        }{
            name:       "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    // Hiện giá trị
    fmt.Println("Name:", student.personalDetails.name)
    fmt.Println("Enrollment:", student.personalDetails.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Ergebnis:

Name: A
Enrollment: 12345
GPA: 3.8

Dieser Code definiert eine Student- Struktur mit einer anonymen personalDetails- Struktur, in der Name und Registrierungsinformationen gespeichert sind. Anschließend initialisiert er student mit Werten für diese Felder und gibt sie aus.

Anonyme Felder

Anonyme Felder in Go ermöglichen die Definition von Feldern ohne explizite Namen, nur deren Typen. Dies ist nützlich, wenn Felder automatisch dem Typnamen folgen.

Syntax

type StructName struct {
    dataType1
    dataType2
    // Additional anonymous fields
}

Zum Beispiel:

package main
import "fmt"

// Cấu trúc học sinh bằng các trường ẩn danh
type Student struct {
    int     // Số đăng ký (trường ẩn danh)
    string  // Tên trường ẩn danh
    float64 // GPA (trường ẩn danh)
}

func main() {
    // Khởi tạo struct học sinh với các trường ẩn danh
    student := Student{12345, "A", 3.8}

    // Hiện giá trị
    fmt.Println("Enrollment:", student.int)
    fmt.Println("Name:", student.string)
    fmt.Println("GPA:", student.float64)
}

Ergebnis:

Enrollment: 12345
Name: A
GPA: 3.8

Dabei fungieren die Datentypen ( int, string, float64 ) als Feldnamen, der Zugriff auf die Werte ist also typenabhängig.

Wichtige Punkte zu anonymen Feldern in Golang

1. Einzigartige Anforderung: Sie können nicht zwei Felder desselben Typs in einer Struktur verwenden. Beispiel:

type InvalidStudent struct {
    int
    int // Error: duplicate type
}

2. Kombinieren benannter und anonymer Felder: Sie können anonyme und benannte Felder in einer Struktur kombinieren.

type Student struct {
    id int // Named field
    int    // Anonymous field
}
Sign up and earn $1000 a day ⋙

Leave a Comment

Switch-Anweisung in Go

Switch-Anweisung in Go

Golang verfügt wie die meisten anderen Programmiersprachen über Switch-Anweisungen. Hier erfahren Sie, wie Sie die Switch-Anweisung in Golang verwenden.

Zu kennende Fälle bei der Verwendung von Auswahlanweisungen in Golang

Zu kennende Fälle bei der Verwendung von Auswahlanweisungen in Golang

In diesem Artikel erfahren Sie, wie Sie den Standardfall verwenden, um Deadlocks zu vermeiden. Zunächst erfahren Sie jedoch, was ein Deadlock-Fall bei der Verwendung des Select-Befehls in Golang ist.

So verwenden Sie Rune in Golang

So verwenden Sie Rune in Golang

Was ist Rune in Golang? Wie verwendet man Rune in Golang? Dieser Artikel gibt Ihnen die Antwort.

So verwenden Sie Operatoren in Golang

So verwenden Sie Operatoren in Golang

Operatoren ermöglichen es uns, verschiedene Arten von Operationen an Operanden durchzuführen. In der Programmiersprache Go können Operatoren anhand ihrer unterschiedlichen Funktionen klassifiziert werden.

Ungültiger Bezeichner in Golang

Ungültiger Bezeichner in Golang

_ (Unterstrich) wird in Golang als leerer Bezeichner bezeichnet. Ein Bezeichner ist ein benutzerdefinierter Name von Programmelementen, der zu Identifikationszwecken verwendet wird.

So erstellen Sie ein Basisprogramm in Golang

So erstellen Sie ein Basisprogramm in Golang

„Hallo Welt!“ ist das erste einfache Programm in einer Programmiersprache. Sie können dieses erste Programm in Golang schreiben, indem Sie die folgenden Schritte befolgen.

So installieren Sie Go unter Windows

So installieren Sie Go unter Windows

Golang lässt sich problemlos unter Windows installieren. Hier finden Sie eine Schritt-für-Schritt-Anleitung zur Installation von Golang unter Windows.

Methoden mit dem gleichen Namen in Golang

Methoden mit dem gleichen Namen in Golang

Golang ermöglicht das Erstellen von zwei oder mehr Methoden mit demselben Namen im selben Paket, aber die Empfänger dieser Methoden müssen unterschiedlichen Typs sein.

Funktionen in Go

Funktionen in Go

In Go sind Funktionen Codeblöcke, die bestimmte Aufgaben ausführen und im gesamten Programm wiederverwendet werden können, um Speicher zu sparen, die Lesbarkeit zu verbessern und Zeit zu sparen.

Variablenumfang in Go

Variablenumfang in Go

Der Gültigkeitsbereich einer Variable in Golang bestimmt, für welchen Teil des Programms die Variable zugänglich ist. In Go haben alle Bezeichner einen lexikalischen Gültigkeitsbereich, der zur Kompilierzeit festgelegt wird.

Kontrollanweisungen in Golang (if, if-else, Nested-if)

Kontrollanweisungen in Golang (if, if-else, Nested-if)

Welche bedingten Anweisungen gibt es in Golang? Wie verwendet man bedingte Anweisungen in der Go-Programmierung? Finden wir es gemeinsam heraus!

Kurzer Variablendeklarationsoperator in Go

Kurzer Variablendeklarationsoperator in Go

Der kurze Variablendeklarationsoperator (:=) in Golang dient zum Erstellen von Variablen mit einem Eigennamen und einem Anfangswert. Hier erfahren Sie alles Wissenswerte über den kurzen Variablendeklarationsoperator in Golang.

Defer-Schlüsselwort in Golang

Defer-Schlüsselwort in Golang

In Go verzögern Defer-Anweisungen die Ausführung einer Funktion oder Methode oder einer anonymen Methode, bis die benachbarten Funktionen zurückkehren.

Methoden in Golang

Methoden in Golang

Methoden in Golang sind wie Funktionen, aber mit einem großen Unterschied: Sie haben ein Empfängerargument, das den Zugriff auf die Eigenschaften des Empfängers ermöglicht.

Anleitung zum Bau von Void Walker DTCL Staffel 8.5

Anleitung zum Bau von Void Walker DTCL Staffel 8.5

In dieser DTCL-Saison 8.5 ist Void Traveler eine Unterrasse und da es nur 3 Generäle gibt, müssen diese Generäle natürlich wirklich hervorstechen, um einen Platz in anderen Formationen zu haben.

So beheben Sie Soundprobleme auf der Xbox

So beheben Sie Soundprobleme auf der Xbox

Es kann schwierig sein, Soundprobleme auf der Xbox zu beheben, wenn das Problem irgendwo zwischen Ihren TV-Einstellungen und den Systemeinstellungen Ihrer Xbox auftreten kann.

Antwort auf die Frage: Ein professioneller Fußballspieler in Lien Quan sein

Antwort auf die Frage: Ein professioneller Fußballspieler in Lien Quan sein

Ein professioneller Fußballspieler zu werden, ist einer der Vorschläge im Grass Professor-Event von Lien Quan Mobile. Lasst uns mit Quantrimang erkunden, um herauszufinden, wer die Figur ist, die in diesem Event erwähnt wird.

18 mysteriöse und seltsame Orte, die auf Google Earth erscheinen und die Menschen überraschen

18 mysteriöse und seltsame Orte, die auf Google Earth erscheinen und die Menschen überraschen

Die weite Erde birgt viele geheimnisvolle Länder, die der Mensch noch nie kannte und betreten hat. Dank Google Earth kann heute jeder seltsame und geheimnisvolle Orte auf diesem Planeten suchen und erkunden.

Warum bedecken Katzen ihr Gesicht, wenn sie schlafen?

Warum bedecken Katzen ihr Gesicht, wenn sie schlafen?

Es gibt viele verschiedene Erklärungen dafür, warum Katzen im Schlaf ihr Gesicht bedecken – vom Versuch, sich warm zu halten, bis hin zum Schutz ihrer Schnurrhaare. Hier ist die Antwort auf die Frage, warum Katzen im Schlaf ihr Gesicht bedecken.

Quiz: Wie viele Meter sind 1 Fuß?

Quiz: Wie viele Meter sind 1 Fuß?

Wie viele Meter sind 1 Fuß? Wenn Sie es nicht wissen, finden wir gemeinsam die Antwort!

So ändern Sie den NAT-Typ unter Windows 11/10

So ändern Sie den NAT-Typ unter Windows 11/10

Das beste Spielerlebnis erzielen Sie mit Open NAT oder zumindest Moderate NAT. Lernen Sie daher, den NAT-Typ zu ändern.

So senden Sie Meta-AI-Nachrichten in WhatsApp-Gruppen

So senden Sie Meta-AI-Nachrichten in WhatsApp-Gruppen

Sie können Meta AI nicht nur mit einzelnen WhatsApp-Nachrichten verwenden, sondern jetzt auch Meta AI-Nachrichten in WhatsApp-Gruppen senden.

NVIDIA-CEO: KI wird Menschen in bestimmten Jobs mit 1000-mal höherer Produktivität ersetzen

NVIDIA-CEO: KI wird Menschen in bestimmten Jobs mit 1000-mal höherer Produktivität ersetzen

Das Konzept der künstlichen Intelligenz (KI) erfreut sich immer größerer Beliebtheit, was bedeutet, dass diese überlegene Technologie nach und nach in vielen Bereichen und in allen Aspekten des modernen Lebens effektiv eingesetzt wird.

KI-Roboter können gejailbreakt werden, und die Folgen werden verheerend sein

KI-Roboter können gejailbreakt werden, und die Folgen werden verheerend sein

Forscher der Penn Engineering (USA) sollen in mehreren KI-gesteuerten Roboterplattformen bislang unbekannte Sicherheitslücken entdeckt haben.

Unterschied zwischen WAN-Port und LAN-Port

Unterschied zwischen WAN-Port und LAN-Port

Wenn Sie sich Ihren WLAN-Router ansehen, sehen Sie möglicherweise die Abkürzungen LAN und WAN, die sich normalerweise neben einigen Anschlüssen befinden. LAN steht für Local Area Network und WAN für Wide Area Network. Was ist also der Unterschied zwischen diesen beiden Anschlusstypen? Finden Sie es mit Quantrimang im folgenden Artikel heraus!

So teilen Sie große Dateien direkt in Ihrem Browser mit FilePizza

So teilen Sie große Dateien direkt in Ihrem Browser mit FilePizza

Dank FilePizza können Sie endlich große Dateien ohne Zwischenhändler teilen.

Die 20 längsten Nonstop-Flüge der Welt nach Entfernung

Die 20 längsten Nonstop-Flüge der Welt nach Entfernung

Die 20 längsten Flüge der Welt nach Entfernung (alle länger als 12.000 km und mit Flugzeiten von 15 Stunden 5 Minuten bis 18 Stunden 50 Minuten).

Sehen Sie sich das rasante Ironman-Rennen in Dubai an

Sehen Sie sich das rasante Ironman-Rennen in Dubai an

Das weltweit erste Jet Suit Race wurde in Dubai von Gravity Industries, einem Pionier im Bereich Jet Suits, in Zusammenarbeit mit dem Dubai Sports Council veranstaltet.

Laden Sie Fishing Master am einfachsten und schnellsten herunter

Laden Sie Fishing Master am einfachsten und schnellsten herunter

Fishing Master ist ein Angelsimulationsspiel, das den Spielern möglichst realistische und unterhaltsame Erlebnisse bieten soll.