En la estructura de Go , los campos promocionados son como campos anónimos, el tipo de campo es el nombre del campo. Usamos este concepto en la estructura anidada donde una estructura es un campo en otra estructura, simplemente agregando el nombre de la estructura en otra estructura y se comporta como el campo anónimo de la estructura anidada. Y los campos de esa estructura (aparte de la estructura anidada) son parte de la estructura anidada, este tipo de campos se conocen como campos Promocionados. Si la estructura anónima o la estructura anidada y la estructura principal contienen un campo que tiene el mismo nombre, ese campo no se promociona, solo se promocionan a la estructura campos con nombres diferentes.
Sintaxis:
type x struct{ // Fields } type y struct{ // Fields of y structure x }
Analicemos este concepto con la ayuda de un ejemplo:
Ejemplo:
// Go program to illustrate the // concept of the promoted fields package main import "fmt" // Structure type details struct { // Fields of the // details structure name string age int gender string } // Nested structure type student struct { branch string year int details } func main() { // Initializing the fields of // the student structure values := student{ branch: "CSE", year: 2010, details: details{ name: "Sumit", age: 28, gender: "Male", }, } // Promoted fields of the student structure fmt.Println("Name: ", values.name) fmt.Println("Age: ", values.age) fmt.Println("Gender: ", values.gender) // Normal fields of // the student structure fmt.Println("Year: ", values.year) fmt.Println("Branch : ", values.branch) }
Producción:
Name: Sumit Age: 28 Gender: Male Year: 2010 Branch : CSE
Explicación: En el ejemplo anterior, tenemos dos estructuras denominadas detalles y estudiante. Donde la estructura de detalles es la estructura normal y la estructura del estudiante es la estructura anidada que contiene la estructura de detalles como campos, al igual que los campos anónimos. Ahora, los campos de la estructura de detalles, es decir, el nombre, la edad y el género, se promocionan a la estructura del alumno y se conocen como campos promocionados. Ahora, puede acceder directamente a ellos con la ayuda de la estructura del estudiante como valores.nombre , valores.edad y valores.género .
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA