Estructuras y campos anónimos en Golang

En Golang , las estructuras (o structs) nos permiten agrupar elementos de diferentes tipos en una sola unidad, lo que resulta útil para modelar entidades del mundo real. Las estructuras anónimas en Golang son estructuras temporales sin nombre que se utilizan para fines únicos, mientras que los campos anónimos permiten la incorporación de campos sin nombre.

Estructuras y campos anónimos en Golang

Por ejemplo:

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

Sintaxis:

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
}

Estructuras anónimas en Go

Las estructuras anónimas en Go se definen sin un nombre y son útiles para crear estructuras temporales y desechables. Aquí está el ejemplo de sintaxis y código.

Sintaxis:

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

Por ejemplo:

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

Resultado:

Name: A
Enrollment: 12345
GPA: 3.8

Este código define una estructura Estudiante con una estructura personalDetails anónima dentro, que almacena el nombre y la información de registro. Luego inicialice el estudiante con valores para estos campos e imprímalos.

Campos anónimos

Los campos anónimos en Go le permiten definir campos sin nombres explícitos, solo se especifican sus tipos. Esto es útil cuando los campos siguen naturalmente al nombre del tipo.

Sintaxis

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

Por ejemplo:

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

Resultado:

Enrollment: 12345
Name: A
GPA: 3.8

Aquí, los tipos de datos ( int, string, float64 ) actúan como nombres de campo, por lo que el acceso a los valores depende de los tipos.

Puntos importantes a recordar sobre los campos anónimos en Golang

1. Requisito único: no se pueden utilizar dos campos del mismo tipo en una estructura. Por ejemplo:

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

2. Combinación de campos con nombre y anónimos: puedes combinar campos anónimos y con nombre en una estructura.

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

Dejar un comentario

Cómo tirar un colchón en Córdoba: recogida de SADECO y ecoparques

Cómo tirar un colchón en Córdoba: recogida de SADECO y ecoparques

Guía práctica para deshacerse de un colchón en Córdoba: recogida domiciliaria de SADECO, ecoparques, qué preparar y qué errores evitar.

Cómo tirar un ordenador en Almería: puntos limpios, datos y pasos seguros

Cómo tirar un ordenador en Almería: puntos limpios, datos y pasos seguros

Descubre dónde llevar un ordenador viejo en Almería, cómo proteger tus datos, qué hacer con monitor y periféricos y qué confirmar antes de ir.

Cómo tirar tubos fluorescentes en L’Hospitalet de Llobregat: dónde llevarlos y qué hacer en 2026

Cómo tirar tubos fluorescentes en L’Hospitalet de Llobregat: dónde llevarlos y qué hacer en 2026

Guía 2026 para desechar tubos fluorescentes en L’Hospitalet: punto limpio, límites para particulares, entrega en tiendas y transporte seguro.

Cómo tirar aceite de cocina usado en Barcelona: guía práctica

Cómo tirar aceite de cocina usado en Barcelona: guía práctica

Aprende cómo guardar y llevar aceite de cocina usado a un Punto Verde de Barcelona, qué errores evitar y cómo comprobar el resultado.

Cómo tirar un ordenador en Madrid: opciones seguras para reciclarlo

Cómo tirar un ordenador en Madrid: opciones seguras para reciclarlo

Guía práctica para desechar un ordenador en Madrid: borrado de datos, puntos limpios fijos, entrega en tiendas y límites de los puntos móviles.

Dónde tirar un teléfono móvil: opciones, datos y errores que conviene evitar

Dónde tirar un teléfono móvil: opciones, datos y errores que conviene evitar

Descubre dónde tirar un teléfono móvil en España, cómo borrar tus datos, retirar SIM y microSD y elegir entre punto limpio, tienda o gestor autorizado.

Empadronamiento en A Coruña: requisitos y documentos para darse de alta

Empadronamiento en A Coruña: requisitos y documentos para darse de alta

Consulta qué documentos necesitas para empadronarte en A Coruña: identificación, prueba de vivienda, autorizaciones y requisitos para menores.

Cómo tirar un televisor en Pamplona: recogida, entrega y qué no hacer

Cómo tirar un televisor en Pamplona: recogida, entrega y qué no hacer

Guía práctica para deshacerse de un televisor en Pamplona: recogida de voluminosos, devolución al comprar otro, preparación y errores que evitar.

Cómo tirar un edredón en Córdoba: opciones correctas según su estado

Cómo tirar un edredón en Córdoba: opciones correctas según su estado

Descubre cómo deshacerte de un edredón en Córdoba: reutilización, contenedores textiles, ecoparques y recogida de SADECO.

Cómo tirar un edredón en Sevilla: contenedor textil, punto limpio y alternativas

Cómo tirar un edredón en Sevilla: contenedor textil, punto limpio y alternativas

En Sevilla, un edredón usado va al circuito textil si está seco y cabe en el contenedor. Si es voluminoso, consulta un punto limpio de LIPASAM antes de llevarlo.