Paquetes
Al leer esta página, deberías poder entender:
- Cómo definir un paquete y su estructura.
- Cómo importar paquetes del módulo.
- Cómo importar paquetes de terceros.
Repasemos dos conceptos que pueden malinterpretarse:
- Módulo: Unidad de proyecto, versionado y dependencias.
- Paquete: Unidad de código que se importa y se usa.
Anteriormente, vimos como importar paquetes estándar, ahora vamos a ver como crear un paquete dentro de nuestro módulo para organizar mejor el código y cómo usar paquetes de terceros que están en otro repositorio.
En Go permite empaquetar código en un paquete (dentro de un directorio del módulo) y usarlo en otras partes, como una librería. Basandonos en el módulo anterior creamos un directorio llamado time y dentro de el un archivo llamado main.go, el archivo principal del paquete se suele llamarse main.go.
| |
Vemos que contiene el archivo time/main.go:
| |
Ahora debemos modificar el archivo main.go para que haga uso del paquete time:
| |
Para ejecutarlo y probar el código escribe el siguiente comando:
| |
| |
Al entender este punto pasamos al siguiente, usar paquetes de terceros, en este caso vamos a usar uno de google para generar UUID, para eso lo agregamos en local usando el siguiente comando:
| |
Si todo va bien debe imprimir algo cómo go: added github.com/google/uuid v1.6.0, y de forma automarica se ha modificado el archivo go.mod agregando el nuevo requerimiento. Hay un comando muy útil que es el siguiente:
| |
Este te descarga los requerimientos que tengas definidos en go.mod y estés usando en el módulo evitando ejecutar por tu cuenta de nuevo go get.... Pero, si hay requerimientos que no se están usando en el módulo se borran. Te aconsejo que puedes y verifiques tú mismo.
Ahora modifiquemos el archivo principal del módulo que se llama main.go para que haga uso de la nueva librería:
| |
Ahora si ejecutamos el programa obtenemos una salida bastante parecida:
Starting...
Hi from Demo
Run at: 2026-02-06 02:43:08
UUID: 2dea2096-f9ca-43cc-9569-89ad8c2c2eea