Visibilidade

Há casos em que queremos deixar campos ou métodos de nossas structs privadas ou públicas. Quando privadas, somente os métodos da própria struct podem acessar determinado valor.

Para isso, seguimos a mesma ideia de como deixar alguma função ou variável visível para outros pacotes que importem o nosso pacote.

Se queremos deixar público, a primeira letra do identificador deve ser maiúscula.


type Pessoa struct {
    // Campo público
    Nome string

    // Campo privado
    idade int
}
                        

Podemos usar isso para restringir o acesso a campos e métodos restringir, e para criar métodos que se comportem como getters e setters de campos privados.

visibilidade.go