Junior — Middle
É possível declarar métodos com visibilidade privada na linguagem Go?
sobes.tech IA
Resposta da IA
No Go, o âmbito dos métodos é determinado pela maiúscula ou minúscula do nome do método. Se o nome do método começar com uma maiúscula, ele é exportado (público), se começar com uma minúscula, o método é privado (acessível apenas dentro do pacote). Assim, no Go não há uma palavra-chave private, mas é possível declarar um método com âmbito privado simplesmente começando seu nome com uma minúscula.
Exemplo:
package mypackage
type MyStruct struct {}
func (m MyStruct) publicMethod() {
// método privado, acessível apenas dentro do pacote mypackage
}
func (m MyStruct) PublicMethod() {
// método público, acessível de outros pacotes
}
A chamada a publicMethod será possível apenas dentro do pacote mypackage.