Sobes.tech
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.