Estructura anidada en Golang

Una estructura o struct en Golang es un tipo definido por el usuario que nos permite crear un grupo de elementos de diferentes tipos en una sola unidad. Cualquier entidad del mundo real que tenga un conjunto de propiedades o campos puede representarse como una estructura.

Estructura anidada en Golang

Cómo usar estructuras anidadas en Golang

El lenguaje Go permite estructuras anidadas. Una estructura que es un campo de otra estructura se denomina estructura anidada. En otras palabras, una estructura dentro de otra estructura se llama Estructura Anidada. Sintaxis:

type struct_name_1 struct{
  // Các trường
} 
type struct_name_2 struct{
  variable_name  struct_name_1

}

Considere el siguiente ejemplo para comprender la estructura anidada en Golang:

Ejemplo 1:

// Chương trình Go minh hoạc
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Author struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lòng nhau
type HR struct {

	// cấu trúc là một trường
	details Author
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := HR{
	
		details: Author{"Sona", "ECE", 2013},
	}

	// Hiện giá trị
	fmt.Println("\nDetails of Author")
	fmt.Println(result)
}

Resultado:

Details of Author
{{Sona ECE 2013}}

Ejemplo 2:

// Chương trình Golang minh họa
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Student struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lồng nhau
type Teacher struct {
	name string
	subject string
	exp	 int
	details Student
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := Teacher{
		name: "Suman",
		subject: "Java",
		exp:	 5,
		details: Student{"Bongo", "CSE", 2},
	}

	// Hiện giá trị
	fmt.Println("Details of the Teacher")
	fmt.Println("Teacher's name: ", result.name)
	fmt.Println("Subject: ", result.subject)
	fmt.Println("Experience: ", result.exp)

	fmt.Println("\nDetails of Student")
	fmt.Println("Student's name: ", result.details.name)
	fmt.Println("Student's branch name: ", result.details.branch)
	fmt.Println("Year: ", result.details.year)
}

Resultado:

Details of the Teacher
Teacher's name:  Suman
Subject:  Java
Experience:  5

Details of Student
Student's name:  Bongo
Student's branch name:  CSE
Year:  2

Ejemplo 3:

En Go, una estructura puede tener campos que son en sí mismos estructuras, llamadas estructuras anidadas. A continuación se muestra un ejemplo de una estructura que tiene una estructura anidada:

package main

import (
	"fmt"
)

type Address struct {
	Street	 string
	City	 string
	State	 string
	PostalCode string
}

type Person struct {
	FirstName string
	LastName string
	Age	 int
	Address Address
}

func main() {
	p := Person{
		FirstName: "John",
		LastName: "Doe",
		Age:	 30,
		Address: Address{
			Street:	 "123 Main St",
			City:	 "Anytown",
			State:	 "CA",
			PostalCode: "12345",
		},
	}

	fmt.Println(p.FirstName, p.LastName)
	fmt.Println("Age:", p.Age)
	fmt.Println("Address:")
	fmt.Println("Street:", p.Address.Street)
	fmt.Println("City:", p.Address.City)
	fmt.Println("State:", p.Address.State)
	fmt.Println("Postal Code:", p.Address.PostalCode)
}

Resultado:

John Doe
Age: 30
Address:
Street: 123 Main St
City: Anytown
State: CA
Postal Code: 12345

Aquí definimos dos tipos de estructuras: Persona y Dirección. La persona tiene un campo de estructura anidado llamado Dirección. En la función principal, creamos una nueva instancia de Persona con un campo Dirección. Luego imprimimos los distintos valores de campo de las estructuras Persona y Dirección usando la notación de puntos para acceder a los campos anidados.

Sign up and earn $1000 a day ⋙

Leave a Comment

Cómo usar constantes en Golang

Cómo usar constantes en Golang

¿Qué es Constante o Const en Golang? Esto es lo que necesita saber sobre el uso de constantes en Go.

Funciones volátiles en Golang

Funciones volátiles en Golang

Las funciones variádicas en Go le permiten pasar una cantidad variable de argumentos a una función. Aquí encontrará todo lo que necesita saber sobre las funciones volátiles en Golang.

Parámetros de retorno con nombre en Golang

Parámetros de retorno con nombre en Golang

En Golang, los parámetros de retorno con nombre a menudo se denominan parámetros con nombre. Golang permite nombrar los parámetros de retorno o los resultados de las funciones en la firma o definición de la función.

Palabras clave en Go

Palabras clave en Go

Palabra clave: Las palabras clave son palabras en un lenguaje que se utilizan para algún proceso interno o representan alguna acción predefinida. Aquí tienes lo que necesitas saber sobre las palabras clave en Golang.

Tipos de datos en Golang

Tipos de datos en Golang

El tipo de datos especifica el tipo de datos que puede contener una variable Go válida. En el lenguaje Go, los tipos se dividen en cuatro categorías como sigue:

Argumentos de función en Golang

Argumentos de función en Golang

Go admite dos formas principales de pasar argumentos: pasar por valor y pasar por referencia. Go utiliza el paso por valor de manera predeterminada.

Función que devuelve múltiples valores en Golang

Función que devuelve múltiples valores en Golang

En el lenguaje Go, se permite devolver múltiples valores de una función, utilizando la declaración de retorno. En otras palabras, en una función, una declaración de retorno puede devolver múltiples valores.

Sentencia Switch en Go

Sentencia Switch en Go

Golang, como la mayoría de los otros lenguajes de programación, tiene una declaración switch. Aquí se explica cómo utilizar la declaración switch en Golang.

Casos a conocer al utilizar sentencias de selección en Golang

Casos a conocer al utilizar sentencias de selección en Golang

En este artículo, aprenderemos cómo utilizar el caso predeterminado para evitar el bloqueo. Pero primero, ¿averigüemos qué es el caso de bloqueo cuando se utiliza el comando de selección de Golang?

Estructuras y campos anónimos en Golang

Estructuras y campos anónimos en Golang

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.

Cómo usar Runas en Golang

Cómo usar Runas en Golang

¿Qué son las Runas en Golang? ¿Cómo usar Runas en Golang? El artículo te dirá la respuesta.

Cómo usar operadores en Golang

Cómo usar operadores en Golang

Los operadores nos permiten realizar diferentes tipos de operaciones sobre los operandos. En el lenguaje Go, los operadores se pueden clasificar según sus diferentes funciones.

Identificador nulo en Golang

Identificador nulo en Golang

_(guión bajo) en Golang se llama Identificador en blanco. El identificador es un nombre definido por el usuario de los componentes del programa que se utiliza con fines de identificación.

Cómo crear un programa básico en Golang

Cómo crear un programa básico en Golang

¡Hola Mundo! es el primer programa básico en cualquier lenguaje de programación. Puedes escribir este primer programa en Golang siguiendo los pasos a continuación.

Cómo instalar Go en Windows

Cómo instalar Go en Windows

Golang se puede instalar fácilmente en Windows. A continuación se muestra una guía detallada paso a paso para instalar Golang en Windows.

Diferencia entre un televisor normal y un Smart TV

Diferencia entre un televisor normal y un Smart TV

Los televisores inteligentes realmente han conquistado el mundo. Con tantas funciones excelentes y conectividad a Internet, la tecnología ha cambiado la forma en que vemos televisión.

¿Por qué el congelador no tiene luz pero el refrigerador sí?

¿Por qué el congelador no tiene luz pero el refrigerador sí?

Los refrigeradores son electrodomésticos familiares en los hogares. Los refrigeradores suelen tener 2 compartimentos, el compartimento frío es espacioso y tiene una luz que se enciende automáticamente cada vez que el usuario lo abre, mientras que el compartimento congelador es estrecho y no tiene luz.

2 maneras de solucionar la congestión de la red que ralentiza el Wi-Fi

2 maneras de solucionar la congestión de la red que ralentiza el Wi-Fi

Las redes Wi-Fi se ven afectadas por muchos factores más allá de los enrutadores, el ancho de banda y las interferencias, pero existen algunas formas inteligentes de mejorar su red.

Cómo degradar de iOS 17 a iOS 16 sin perder datos usando Tenorshare Reiboot

Cómo degradar de iOS 17 a iOS 16 sin perder datos usando Tenorshare Reiboot

Si quieres volver a iOS 16 estable en tu teléfono, aquí tienes la guía básica para desinstalar iOS 17 y pasar de iOS 17 a 16.

¿Qué le pasa al cuerpo cuando comes yogur todos los días?

¿Qué le pasa al cuerpo cuando comes yogur todos los días?

El yogur es un alimento maravilloso. ¿Es bueno comer yogur todos los días? Si comes yogur todos los días, ¿cómo cambiará tu cuerpo? ¡Descubrámoslo juntos!

¿Qué tipo de arroz es mejor para la salud?

¿Qué tipo de arroz es mejor para la salud?

Este artículo analiza los tipos de arroz más nutritivos y cómo maximizar los beneficios para la salud del arroz que elija.

Cómo despertarse a tiempo por la mañana

Cómo despertarse a tiempo por la mañana

Establecer un horario de sueño y una rutina para la hora de acostarse, cambiar el despertador y ajustar la dieta son algunas de las medidas que pueden ayudarle a dormir mejor y despertarse a tiempo por la mañana.

Consejos para jugar a Rent Please! Simulación de propietario para principiantes

Consejos para jugar a Rent Please! Simulación de propietario para principiantes

¡Alquiler por favor! Landlord Sim es un juego de simulación para dispositivos móviles iOS y Android. Jugarás como propietario de un complejo de apartamentos y comenzarás a alquilar un apartamento con el objetivo de mejorar el interior de tus apartamentos y prepararlos para los inquilinos.

Últimos códigos de defensa de torres para baños y cómo introducirlos

Últimos códigos de defensa de torres para baños y cómo introducirlos

Obtén el código del juego Bathroom Tower Defense de Roblox y canjéalo por emocionantes recompensas. Te ayudarán a mejorar o desbloquear torres con mayor daño.

Estructura, símbolos y principios de funcionamiento de los transformadores

Estructura, símbolos y principios de funcionamiento de los transformadores

Aprendamos la estructura, los símbolos y los principios de funcionamiento de los transformadores de la forma más precisa.

4 maneras en que la IA está mejorando los televisores inteligentes

4 maneras en que la IA está mejorando los televisores inteligentes

Desde una mejor calidad de imagen y sonido hasta control por voz y más, ¡estas funciones impulsadas por IA hacen que los televisores inteligentes sean mucho mejores!

Por qué ChatGPT es mejor que DeepSeek

Por qué ChatGPT es mejor que DeepSeek

Al principio, la gente tenía grandes esperanzas en DeepSeek. Como chatbot de IA comercializado como un fuerte competidor de ChatGPT, promete capacidades y experiencias de chat inteligentes.

Conoce Fireflies.ai: La secretaria con IA gratuita que te ahorra horas de trabajo

Conoce Fireflies.ai: La secretaria con IA gratuita que te ahorra horas de trabajo

Es fácil pasar por alto detalles importantes cuando se anotan otros elementos esenciales, y tratar de tomar notas mientras se chatea puede ser una distracción. Fireflies.ai es la solución.

Cómo criar Ajolote en Minecraft, domesticar Salamandra en Minecraft

Cómo criar Ajolote en Minecraft, domesticar Salamandra en Minecraft

Axolot de Minecraft será un gran asistente para los jugadores cuando trabajen bajo el agua si saben cómo usarlos.

Configuración del juego para PC A Quiet Place: The Road Ahead

Configuración del juego para PC A Quiet Place: The Road Ahead

La configuración de A Quiet Place: The Road Ahead tiene una calificación bastante alta, por lo que deberás tener en cuenta la configuración antes de decidir descargarla.