English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
EstructuraEn Golang es un tipo definido por el usuario, que permite crear un conjunto de elementos de diferentes tipos en una unidad. Cualquier entidad real que tenga un conjunto de atributos o campos puede representarse como una estructura. El lenguaje Go permite estructuras anidadas. Una estructura es un campo de otra estructura, denominada estructura anidada. En otras palabras, una estructura dentro de otra estructura se llama estructura anidada.
Sintaxis:
type struct_name_1 struct{}} // Campos } type struct_name_2 struct{}} variable_name struct_name_1 }
Vamos a discutir este concepto con un ejemplo:
//Estructura anidada package main import "fmt" //Crear estructura type Author struct { name string branch string year int } //Crear estructura anidada type HR struct { //Estructura de campos details Author } func main() { // Inicializar campos de estructura result := HR{ details: Author{"Sona", "ECE", 2013, } //Imprimir valores de salida fmt.Println("\nDetalles del autor") fmt.Println(result) }
Salida:
Detalles del autor {{Sona ECE 2013}}
Ejemplo de estructura anidada2:
package main import "fmt" //Crear estructura type Student struct { name string branch string year int } //Crear estructura anidada type Teacher struct { name string subject string exp int details Student } func main() { //Inicializar campos de estructura result := Teacher{ name: "Suman", subject: "Java", exp: 5, details: Student{"Bongo", "CSE", 2, } fmt.Println("Detalles detallados del maestro") fmt.Println("Nombre del maestro: ", result.name) fmt.Println("Materia: ", result.subject) fmt.Println("Experiencia: ", result.exp) fmt.Println("\nDetalles del estudiante") fmt.Println("Nombre del estudiante: ", result.details.name) fmt.Println("Nombre del departamento del estudiante: ", result.details.branch) fmt.Println("Edad: ", result.details.year) }
Salida:
Detalles detallados del maestro Nombre del maestro: Suman Materia: Java Experiencia: 5 Detalles del estudiante Nombre del estudiante: Bongo Nombre del departamento del estudiante: CSE Edad: 2