¿Qué es el constructor new en Go?
Una instancia de una estructura puede ser construida mediante el constructor new
. Esto permite asignar en la memoria el espacio necesario para almacenar un tipo de estructura y después asígnale los valores a cada uno de sus campos.
Ejemplo del uso del constructor en Go
package main
import "fmt"
type Pais struct {
Nombre string
Capital string
Idioma string
Poblacion int
}
func main() {
colombia := new(Pais)
fmt.Printf("%+v\n", colombia)
colombia.Nombre = "Colombia"
colombia.Capital = "Bogota"
colombia.Idioma = "Español"
colombia.Poblacion = 49e6
fmt.Printf("%+v\n", colombia)
}
Descripción del ejemplo del uso del constructor new
en Go
En el ejemplo anterior hemos creado una instancia de la estructura con sus valores en 0 utilizando el constructor.
colombia := new(Pais)
fmt.Printf("%+v\n", colombia)
Después asignamos los valores.
colombia.Nombre = "Colombia"
colombia.Capital = "Bogota"
colombia.Idioma = "Español"
colombia.Poblacion = 49e6
Como salida tenemos los valores asignados.
&{Nombre:Colombia Capital:Bogota Idioma:Español Poblacion:49000000}