Visibility
There are cases where we want to leave fields or methods of our structs private or
public. When private, only the struct's own methods can access a given value.
For that, we follow the same idea of how to make some function or variable visible to other packages that import our package.
If we want to make it public, the first letter of the identifier must be uppercase.
type Person struct {
// public field
string name
// private field
int age
}
We can use this to restrict access to fields and restrict methods, and to create methods that behave like getters and setters b> of private fields.