Sobes.tech
Junior — Middle

¿Es posible declarar métodos con ámbito de visibilidad privado en el lenguaje Go?

sobes.tech AI

Respuesta de la IA

En Go, el ámbito de los métodos se determina por la letra inicial del nombre del método. Si el nombre del método comienza con una letra mayúscula, se exporta (público), si comienza con una minúscula, el método es privado (solo accesible dentro del paquete). De esta manera, en Go no existe la palabra clave private, pero se puede declarar un método con un ámbito privado simplemente comenzando su nombre con una letra minúscula.

Ejemplo:

package mypackage

type MyStruct struct {}

func (m MyStruct) publicMethod() {
    // método privado, solo accesible dentro del paquete mypackage
}

func (m MyStruct) PublicMethod() {
    // método público, accesible desde otros paquetes
}

La llamada a publicMethod solo será posible dentro del paquete mypackage.