Uso del constructor en estructuras

¿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}