Campos públicos y privados

¿Cómo funciona la visibilidad en Go?

El concepto de visibilidad en Go esta relacionado con un campo, función, método o paquete es exportado o no. Si un campo es privado, solo se encuentra disponible dentro de su contexto.

Ambos estructuras y campos pueden ser o no exportadas. Esto se logra utilizando una mayúscula (exportar) o minúscula (no exportar) como primer caracter, según se requiera.

Ejemplo de estructura pública

type MiEstructura type {
}

Ejemplo de estructura privada

type miEstructura type {
}

Campos / propiedades públicas y privadas dentro de estructuras

Dentro de las estructuras podemos declarar campos públicos y privados.

type MiEstructura type {
    MiPropiedadPublica string
    miPropiedadPrivada string
}

Siempre hay que poner atención a si la estructura, campo, función, método, etc, inician con una mayúscula o minúscula. De ello dependerá siempre su visibilidad.