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.