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.