Hola, en este post mostrare que son los Structs y como usarlos.
Antes de comenzar, lo se, hace 2 meses dije que no continuaría el curso, pero tengo 2 razones para terminarlo :
- Estoy en vacaciones, y no tengo nada que hacer, asi que porque no terminar este curso?
- El poderoso, dios, creador de S-SUN y de Lima, @erickcraftstudios, me sugirió terminar este curso, y obvio, no puedo decirle que no al mismisimo creador de S-SUN :v
Que son las structs?
struct, significa estructura, y sirve para guardar varios datos bajo un solo nombre. Puedes imaginarlo como un tipo de dato personalizado que contiene variables que tu asignaste.
¿Como utilizarlo? (Con ejemplo)
Bueno, imaginemos que… estamos haciendo un videojuego de carreras!, vamos hacer un struct que contenga la información del vehículo, y posteriormente imprimirlo.
El codigo esta completamente documentado, y creo que, explica claramente como utilizarlo
package main
import "fmt" // para usar Printf, la struct funciona sin fmt perfectamente
// Declaracion de la struct
type Carro struct { // No es regla, pero es recomendable que el nombre de los structs empiece con mayuscula
Motor string
Velocidad int
Modelo string
Suspencion int // Honestamente, no se que es una suspencion, asi que esto es como "cuanto rebota"
Año int
Precio int
}
func main() {
var BMWi8 Carro // Aqui, declaramos la variable BMW I8, pero, como "tipo de dato" indicamos Carro
BMWi8.Motor = "1499cc I3 turbo" // No se de carros, esto es segun google :P
BMWi8.Velocidad = 250 // 250 KM/H
BMWi8.Modelo = "BMW I8"
BMWi8.Suspencion = 2 // dato inventado
BMWi8.Año = 2014
BMWi8.Precio = 640000 // 640 mil, segun google :P
fmt.Printf("Tu carro es un %s con un motor %s y una velocidad de %d, tiene una suspencion de %d, salio en el año %d y cuesta un total de %d\n", BMWi8.Modelo, BMWi8.Motor, BMWi8.Velocidad, BMWi8.Suspencion, BMWi8.Año, BMWi8.Precio)
var Tesla Carro // Otro ejemplo
Tesla.Motor = "Motor Electrico"
Tesla.Velocidad = 332 // 332KM/H
Tesla.Modelo = "Tesla Model 3"
Tesla.Suspencion = 3 // De nuevo, inventado
Tesla.Año = 2016
Tesla.Precio = 500000 // 500K
fmt.Printf("\nTu carro es un %s con un motor %s y una velocidad de %d, tiene una suspencion de %d, salio en el año %d y cuesta un total de %d\n", Tesla.Modelo, Tesla.Motor, Tesla.Velocidad, Tesla.Suspencion, Tesla.Año, Tesla.Precio)
}
(Perdón por no enseñar a usar printf antes, esto puede servirte si no lo has usado nunca(Aunque esta en ingles, lamentablemente)
Después de correrlo, la salida esperada debería ser
Tu carro es un BMW I8 con un motor 1499cc I3 turbo y una velocidad de 250, tiene una suspencion de 2, salio en el año 2014 y cuesta un total de 640000
Tu carro es un Tesla Model 3 con un motor Motor Electrico y una velocidad de 332, tiene una suspencion de 3, salio en el año 2016 y cuesta un total de 500000
Como siempre, gracias por leerme!