- Autor

- Nombre
- Nelson Silva
- Social
Introducción
En Go, un "struct" es una colección compuesta de campos que permite agrupar variables de diferentes tipos. Los structs son extremadamente útiles para definir y crear tipos de datos personalizados, proporcionando una manera organizada de representar entidades y sus atributos.
- Definiendo e Inicializando structs
- Accediendo a los Campos del struct
- Structs Anidados
- Punteros a structs
- Métodos y structs
Definiendo e Inicializando structs
Para definir un struct, usamos la palabra clave type seguida del nombre del struct y la palabra clave struct:
type Persona struct {
Nombre string
Edad int
Email string
}
Para inicializar un struct, podemos asignar valores a sus campos utilizando la sintaxis de llaves:
p := Persona{"Nelson", 28, "[email protected]"}
O usando los nombres de los campos:
p := Persona{
Nombre: "Nelson",
Edad: 28,
Email: "[email protected]",
}
Accediendo a los Campos del struct
Para acceder a un campo específico del struct, utilizamos el operador .:
nombre := p.Nombre // "Nelson"
edad := p.Edad // 28
Structs Anidados
Es posible tener structs dentro de otros structs, una característica que puede ser útil para representar relaciones jerárquicas o complejas:
type Direccion struct {
Calle string
Ciudad string
Pais string
}
type Persona struct {
Nombre string
Edad int
Ubicacion Direccion
}
Punteros a structs
Al igual que otras variables en Go, los structs también pueden ser referenciados mediante punteros:
punteroAPersona := &p
punteroAPersona.Nombre = "Pedro" // Cambia el nombre en el struct original
Métodos y structs
En Go, podemos definir métodos específicos para structs, permitiendo que operaciones específicas sean realizadas con o sobre esos structs:
func (p Persona) Presentarse() string {
return "Hola, mi nombre es " + p.Nombre
}
mensaje := p.Presentarse() // "Hola, mi nombre es Nelson"
Conclusión
Los structs en Go son herramientas poderosas y flexibles que nos permiten crear representaciones claras y organizadas de entidades y sus atributos. Dominar los structs es fundamental para cualquier programador de Go que desee crear aplicaciones robustas y bien estructuradas.