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

Solución de problemas de actualizaciones de error H en Microsoft Teams

Solución de problemas de actualizaciones de error H en Microsoft Teams

¿Tiene problemas con el Error H de Microsoft Teams durante las actualizaciones? Descubra cómo solucionar el Error H de Microsoft Teams, sus causas comunes y soluciones rápidas para restablecer una colaboración fluida. Actualizado con las últimas soluciones.

Solución de problemas de errores de llavero en Microsoft Teams para Mac

Solución de problemas de errores de llavero en Microsoft Teams para Mac

¿Tienes problemas con el llavero de errores de Microsoft Teams para Mac? Descubre soluciones paso a paso y probadas para macOS y recupera una colaboración fluida. ¡Soluciones rápidas en el interior!

Cómo solucionar el error 1200 de Microsoft Teams en tu teléfono (iOS/Android)

Cómo solucionar el error 1200 de Microsoft Teams en tu teléfono (iOS/Android)

¿Cansado de que el error 1200 de Microsoft Teams bloquee tus llamadas? Descubre soluciones rápidas y paso a paso para iOS y Android y vuelve a trabajar en equipo sin problemas rápidamente, ¡sin necesidad de conocimientos técnicos!

¿Por qué falló mi grabación en Microsoft Teams? Razones comunes

¿Por qué falló mi grabación en Microsoft Teams? Razones comunes

¿Frustrado porque tu grabación de Microsoft Teams falló? Descubre las razones más comunes, como problemas de permisos, límites de almacenamiento y fallos de red, además de soluciones paso a paso para evitar futuros fallos y grabar siempre de forma impecable.

¿Por qué no puedo ver las salas de grupos pequeños en mi reunión de Teams?

¿Por qué no puedo ver las salas de grupos pequeños en mi reunión de Teams?

¿Frustrado porque las salas de reuniones no aparecen en tu reunión de Teams? Descubre las principales razones por las que no puedes verlas en Teams y sigue nuestras soluciones paso a paso para que funcionen correctamente en minutos. ¡Ideal tanto para organizadores como para participantes!

Solución de errores de red de Microsoft Teams en redes Wi-Fi públicas

Solución de errores de red de Microsoft Teams en redes Wi-Fi públicas

¿Tienes problemas con un error de red de Microsoft Teams en una red Wi-Fi pública? Obtén soluciones instantáneas como ajustes de VPN, comprobaciones de puertos y borrado de caché para restaurar llamadas y reuniones sin problemas. Guía paso a paso para una solución rápida.

¿Dónde está la papelera de reciclaje de Microsoft Teams? Cómo recuperar archivos borrados

¿Dónde está la papelera de reciclaje de Microsoft Teams? Cómo recuperar archivos borrados

¿Perdiste archivos importantes en Microsoft Teams? Descubre la ubicación exacta de la Papelera de reciclaje de Microsoft Teams y sigue nuestros pasos comprobados para recuperar archivos eliminados de forma rápida y sencilla, ¡sin necesidad de conocimientos técnicos!

Cómo configurar el estado Fuera de oficina en Microsoft Teams

Cómo configurar el estado Fuera de oficina en Microsoft Teams

Descubre cómo configurar el estado "Fuera de oficina" en Microsoft Teams con sencillos pasos para escritorio, móvil y sincronización con Outlook. Mantén la profesionalidad mientras estás fuera: ¡configuración rápida en minutos!

Dónde encontrar el código QR de Microsoft Teams para iniciar sesión rápidamente en dispositivos móviles

Dónde encontrar el código QR de Microsoft Teams para iniciar sesión rápidamente en dispositivos móviles

Descubre exactamente dónde encontrar el código QR de Microsoft Teams para iniciar sesión móvil ultrarrápido. Guía paso a paso con imágenes para conectarte en segundos, ¡sin necesidad de contraseñas!

Solución del error al unirse a una reunión en Microsoft Teams mediante un enlace directo

Solución del error al unirse a una reunión en Microsoft Teams mediante un enlace directo

¿Tienes problemas con el error al unirte a una reunión de Microsoft Teams? Descubre pasos comprobados para solucionarlo mediante enlaces directos. Soluciones rápidas para unirte sin problemas, ¡sin necesidad de conocimientos técnicos!