Anonieme structuren en velden in Golang

In Golang maken structuren (of structs) het mogelijk om elementen van verschillende typen te groeperen in een enkele eenheid. Dit is handig voor het modelleren van entiteiten uit de echte wereld. Anonieme structuren in Golang zijn tijdelijke structuren zonder namen die voor eenmalige doeleinden worden gebruikt, terwijl anonieme velden het insluiten van naamloze velden mogelijk maken.

Anonieme structuren en velden in Golang

Bijvoorbeeld:

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)
}

Syntaxis:

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
}

Anonieme structuren in Go

Anonieme structuren in Go worden zonder naam gedefinieerd en zijn handig voor het maken van tijdelijke, wegwerpbare structuren. Hier is de syntaxis en het codevoorbeeld.

Syntaxis:

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

Bijvoorbeeld:

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)
}

Resultaat:

Name: A
Enrollment: 12345
GPA: 3.8

Deze code definieert een studentstructuur met een anonieme personalDetails- structuur daarin , waarin de naam en registratiegegevens worden opgeslagen. Initialiseer vervolgens de student met waarden voor deze velden en druk deze af.

Anonieme velden

Met anonieme velden in Go kunt u velden definiëren zonder expliciete namen; alleen het veldtype wordt gespecificeerd. Dit is handig wanneer velden op natuurlijke wijze op de typenaam volgen.

Syntaxis

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

Bijvoorbeeld:

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)
}

Resultaat:

Enrollment: 12345
Name: A
GPA: 3.8

Hierbij fungeren de gegevenstypen ( int, string, float64 ) als veldnamen, waardoor de toegang tot de waarden afhankelijk is van de typen.

Belangrijke punten om te onthouden over anonieme velden in Golang

1. Unieke vereiste: u kunt niet twee velden van hetzelfde type in één structuur gebruiken. Bijvoorbeeld:

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

2. Benoemde en anonieme velden combineren: U kunt anonieme en benoemde velden in een structuur combineren.

type Student struct {
    id int // Named field
    int    // Anonymous field
}

Laat een reactie achter

Hoe houd je Microsoft Teams de hele dag actief en beschikbaar?

Hoe houd je Microsoft Teams de hele dag actief en beschikbaar?

Leer hoe je Microsoft Teams de hele dag actief en beschikbaar houdt. Bewezen tips, tools en instellingen om de status 'Afwezig' te voorkomen, je productiviteit te verhogen en geen moment te missen tijdens je werkdag.

Hoe los je afspeelfouten van media in Microsoft Teams op in 2026?

Hoe los je afspeelfouten van media in Microsoft Teams op in 2026?

Ben je het zat dat audio-, video- en deelproblemen in Microsoft Teams je vergaderingen in 2026 verstoren? Volg onze deskundige, stapsgewijze handleiding om audio-, video- en deelproblemen snel op te lossen – zonder technische kennis. Naadloze samenwerking is binnen handbereik!

Problemen met de Microsoft Teams Mac-sleutelbos oplossen

Problemen met de Microsoft Teams Mac-sleutelbos oplossen

Heb je problemen met de sleutelhangers van Microsoft Teams op je Mac? Ontdek bewezen, stapsgewijze oplossingen voor macOS om weer probleemloos samen te werken. Snelle oplossingen vind je hier!

Het probleem oplossen dat je via een directe link deelneemt aan een vergadering in Microsoft Teams

Het probleem oplossen dat je via een directe link deelneemt aan een vergadering in Microsoft Teams

Krijg je problemen met het deelnemen aan een vergadering in Microsoft Teams? Ontdek bewezen stappen om dit op te lossen via directe links. Snelle oplossingen voor probleemloos deelnemen – geen technische kennis vereist!

Problemen met vertraging in Microsoft Teams-videoconferenties via wifi oplossen

Problemen met vertraging in Microsoft Teams-videoconferenties via wifi oplossen

Heb je last van vertraging tijdens videoconferenties in Microsoft Teams via wifi? Deze ultieme handleiding voor probleemoplossing biedt snelle oplossingen, geavanceerde tips en wifi-optimalisaties om direct weer kristalheldere videogesprekken te voeren.

Hoe u de cache van Microsoft Teams kunt wissen om prestatieproblemen op te lossen

Hoe u de cache van Microsoft Teams kunt wissen om prestatieproblemen op te lossen

Ervaart u problemen met een traag Microsoft Teams? Leer stap voor stap hoe u de cache van Microsoft Teams kunt wissen om prestatieproblemen, vertragingen en crashes op te lossen en de snelheid te verhogen op Windows, Mac, via de webbrowser en op mobiele apparaten. Snelle oplossingen die werken!

Hoe los je Microsoft Teams-fout 1200 op je telefoon op (iOS/Android)?

Hoe los je Microsoft Teams-fout 1200 op je telefoon op (iOS/Android)?

Heb je genoeg van Microsoft Teams-fout 1200 die je telefoongesprekken laat vastlopen? Ontdek snelle, stapsgewijze oplossingen voor iOS en Android, zodat je snel weer probleemloos kunt samenwerken – zonder technische kennis!

Waar bevinden zich de registerinstellingen van Microsoft Teams in Windows 11?

Waar bevinden zich de registerinstellingen van Microsoft Teams in Windows 11?

Ontdek de exacte locaties van de Microsoft Teams-registersleutels in Windows 11. Een stapsgewijze handleiding om ze te vinden, te openen en veilig aan te passen voor optimale prestaties en probleemoplossing. Essentieel voor IT-professionals en Teams-enthousiasten.

Waar vind ik de installatiemap van Microsoft Teams op mijn pc?

Waar vind ik de installatiemap van Microsoft Teams op mijn pc?

Kunt u de installatiemap van Microsoft Teams niet vinden op uw pc? Deze stapsgewijze handleiding laat u de exacte paden zien voor nieuwe en klassieke Teams-installaties, per gebruiker en per computer. Bespaar tijd bij het oplossen van problemen!

Hoe los je een aanmeldingsfout bij Microsoft Teams op Chromebooks op?

Hoe los je een aanmeldingsfout bij Microsoft Teams op Chromebooks op?

Heb je problemen met inloggen bij Microsoft Teams op je Chromebook? Ontdek stapsgewijze oplossingen om inlogproblemen snel op te lossen. Wis de cache, update apps en meer voor naadloos samenwerken. Werkt met de nieuwste Chrome OS!