¿Qué son las estructuras en Golang?

Que Son Las Estructuras En Golang



En el lenguaje Go, una estructura es una colección de variables (campos) agrupadas bajo un solo nombre. Es un tipo de datos compuesto que nos permite crear estructuras de datos personalizadas para contener información relacionada. Las estructuras en Go son como clases en la programación orientada a objetos como C y C++, pero no admiten la herencia. En su lugar, confían en la composición para lograr la reutilización del código. Este artículo cubre las estructuras en Golang y cómo podemos declarar y acceder a los miembros de la estructura.

¿Qué es una estructura en Golang?

En Golang, una estructura es un tipo de datos compuesto que consta de cero o más campos con nombre, cada uno de los cuales tiene un tipo específico. Los campos de una estructura pueden ser de cualquier tipo, incluidas otras estructuras, matrices, funciones o interfaces.







Aquí hay un ejemplo de una estructura en Golang:



tipo Estructura de persona {
Cadena de nombre completo
Años int
Dirección del sitio
}
tipo Estructura de dirección {
Cadena de nombre de calle
NombreCiudad    cadena
Cadena CountryName
}

 
Aquí hemos definido una estructura de Persona que tiene tres campos: Nombre completo, Años de antigüedad y Ubicación. El campo Ubicación es en sí mismo una estructura que tiene tres campos: StreetName, CityName y CountryName.



Cómo declarar Struct en Golang

Podemos declarar una estructura en Golang usando el tipo palabra clave. El nombre de la estructura se define después de la tipo palabra clave, y sus campos están encerrados entre llaves { } . Esta es la sintaxis para declarar una estructura en Go:





tipo Estructura de nombre de estructura {
Nombre de campo1 Tipo de campo1
Nombre de campo2 Tipo de campo2
    ...
}

 
A continuación se muestra un ejemplo de cómo declarar una estructura llamada Persona con dos campos nombre y edad de tipos cadena e int respectivamente:

tipo Estructura de persona {
cadena de nombre
edad int
}

 
En el código anterior, hemos utilizado el tipo palabra clave para declarar una nueva estructura llamada Persona con dos campos nombre de tipo cadena y edad de tipo int. Los campos están separados por un Nueva línea personaje pero un punto y coma (;) también puede servir para separarlos.



Cómo acceder a los miembros de la estructura en Golang

Para acceder a los campos de una instancia de estructura en el lenguaje Go punto ('.') se utiliza el operador. Este operador de punto va seguido de un nombre de campo. Aquí hay un ejemplo de cómo acceder a los campos de nombre y edad de una instancia de estructura de persona:

// Crear un nuevo ` Persona ` instancia de estructura con nombre 'cash' y edad 24
kash := persona { nombre: 'cash' , edad: 24 }

// Accede a los campos de la ` efectivo ` instancia de estructura
fmt.Println ( kash.name ) // Producción: 'cash'
fmt.Println ( kash.edad )   // Producción: 24

 
En el código anterior, hemos creado una nueva instancia de estructura de persona llamada kash con el nombre efectivo y edad 24 . Luego accedemos a los campos de nombre y edad de la instancia de la estructura kash usando el (“.”) operador e imprimirlos en la consola.

Es importante tener en cuenta que se accede a los campos de una instancia de estructura utilizando la notación de puntos y no la flecha notación (->) utilizado en algunos otros lenguajes de programación. La notación de puntos se usa de manera uniforme en Go para acceder a campos de estructuras, así como a propiedades y métodos de otros tipos.

Código de ejemplo para declarar y acceder al miembro de la estructura en Golang

A continuación se muestra un ejemplo completo de declaración de la estructura Person en Go e impresión de sus valores en la pantalla:

paquete principal
importar 'fmt'
tipo Estructura de persona {
cadena de nombre
edad int
}
función principal ( ) {
    // Crear un nuevo ` Persona ` instancia de estructura con nombre 'cash' y edad 24
kash := persona { nombre: 'cash' , edad: 24 }
    // Imprime el ` nombre ` y ` edad ` de ` efectivo ` instancia de estructura a la consola
fmt.Printf ( 'Nombre: %s \norte ' , kash.name )
fmt.Printf ( 'Envejecido \norte ' , kash.edad )
}

 
En el código escrito anteriormente, primero declaramos el Persona estructura Esta estructura contiene dos campos que son el nombre y la edad. Después de eso, creamos una nueva instancia de estructura de persona llamada kash con el nombre efectivo y edad 24 .

Para mostrar los campos de nombre y edad, usamos el fmt.Printf funcionar con el %s y %d especificadores de formato para imprimir los campos de nombre y edad, respectivamente.

Después de ejecutarse, el siguiente código aparece en la consola:

Cómo pasar Struct como argumentos de función

Para pasar una estructura como argumento de función en Go, simplemente tenemos que especificar el tipo de estructura como el tipo de parámetro en la firma de la función y luego pasar la instancia de estructura como argumento al llamar a la función.

Código de ejemplo

El siguiente ejemplo muestra cómo pasar una instancia de estructura de persona como argumento a una función en el lenguaje Go e imprimir sus valores en la pantalla:

paquete principal
importar 'fmt'
// Declarar una estructura llamada ` Persona ` con dos campos: ` nombre ` y ` edad `
tipo Estructura de persona {
cadena de nombre
edad int
}
// declarar un función llamado ` imprimirPersona ` eso toma un ` Persona ` estructura como un argumento
func imprimirPersona ( p Persona ) {
fmt.Printf ( 'Nombre: %s \norte ' , p.name )
fmt.Printf ( 'Envejecido \norte ' , página )
}
función principal ( ) {
    // Crear un nuevo ` Persona ` instancia de estructura con nombre 'cash' y edad 24
kash := persona { nombre: 'cash' , edad: 24 }
    // Pasa el ` efectivo ` instancia de estructura a la ` imprimirPersona ` función
imprimirPersona ( efectivo )
}

 
En el código anterior, primero declaramos la estructura Person con dos campos, nombre, y edad . Entonces declaramos una función llamada imprimirPersona que toma una estructura Person como argumento e imprime sus campos de nombre y edad en la pantalla usando la función fmt.Printf.

En la función principal, creamos una nueva instancia de estructura de persona llamada kash con el nombre efectivo y 24 años. Luego pasamos la instancia de la estructura kash a la función imprimirPersona llamando a la función imprimirPersona y pasando efectivo como el argumento.

El siguiente resultado se puede ver en la consola después de ejecutar el código anterior:

Conclusión

En Golang, las estructuras pueden representar tipos de datos complejos y encapsular datos relacionados. Una estructura es un tipo de dato compuesto por uno o más campos, cada uno de los cuales recibe un nombre y tipo específico. Los campos de una estructura pueden ser de cualquier tipo, incluidas otras estructuras, matrices, funciones o interfaces. Este artículo discutió las estructuras de Go en detalle, para obtener más información sobre cómo declarar y acceder a los elementos de la estructura, lea el artículo.