Junior — Middle
How can internal details of an object be hidden in the Go language?
sobes.tech AI
Answer from AI
In Go, the internal details of an object (structure) can be hidden by exporting fields and methods. If the name of a field or method starts with an uppercase letter, it is exported and accessible from other packages. If it starts with a lowercase letter, the field or method is private to the package and not accessible from outside.
Example:
package mypackage
type User struct {
Name string // exported field
age int // private field
}
func (u *User) GetAge() int { // exported method to access the private field
return u.age
}
Thus, internal details can be hidden by making fields and methods unexported (with lowercase letters) and providing access through exported methods.