Junior — Middle
¿Cómo se implementa el principio de encapsulación de datos en el lenguaje Go?
sobes.tech AI
Respuesta de la IA
En Go, la encapsulación se logra mediante la regla de visibilidad de los identificadores: si el nombre de una variable, función, método o campo de estructura comienza con una letra mayúscula, se exporta y está disponible desde otros paquetes; si comienza con una letra minúscula, solo está disponible dentro del paquete actual.
Por lo tanto, para ocultar datos, basta con hacer que los campos de la estructura tengan una letra minúscula, y para acceder a ellos, implementar métodos con una letra mayúscula (getters y setters).
Ejemplo:
package user
type User struct {
name string // campo privado
}
func NewUser(name string) *User {
return &User{name: name}
}
func (u *User) GetName() string {
return u.name
}
func (u *User) SetName(name string) {
u.name = name
}
}
Aquí, el campo name está oculto del acceso externo, y los métodos GetName y SetName proporcionan acceso controlado a él.