Visibilidad
La visibilidad depende de la primera letra del nombre.
- Si empieza con minúscula, solo es visible dentro del mismo paquete.
- Si empieza con mayúscula, es visible desde otros paquetes.
- Dentro del mismo paquete, puedes usar tanto nombres con minúscula como con mayúscula.
Esto aplica a casi todo lo nombrado en el lenguaje: funciones, tipos, structs, interfaces, métodos, variables, constantes y campos de structs.
Veamos con ejemplos para entender mejor, imagina que tenemos un paquete llamado foo:
| |
Desde otro paquete, por ejemplo main, solo podemos usar lo que empieza con mayúscula:
| |
La variable defaultMessage empieza con minúscula, así que solo puede usarse dentro del paquete foo. La variable DefaultMessage empieza con mayúscula, así que puede usarse desde otros paquetes.
La función sayHello empieza con minúscula, así que solo puede usarse dentro del paquete foo. La función SayHello empieza con mayúscula, así que puede usarse desde otros paquetes.
La misma lógica también se aplica a structs y campos:
| |