Variables de ambiente en Go con paquetes externos
Clase 27 de 28 • Curso de Go
Contenido del curso
- 8

Uso de la sentencia switch en Go para selección condicional
07:16 - 9

Declaración y uso básico de arreglos en Go
06:56 - 10

Creación y uso de slices dinámicos en Go
08:26 - 11

Mapas en Go: creación, acceso y manipulación de datos clave-valor
09:38 - 12

Cómo crear y usar funciones personalizadas en Go
07:09 - 13

Funciones con múltiples valores de retorno en Go
07:43 - 14

Funciones variádicas en Go para múltiples parámetros
07:11 - 15

Funciones recursivas en Go para cálculos matemáticos
06:12 - 16

Punteros en Go para optimizar rendimiento del sistema
05:20 - 17

Runas y caracteres Unicode en Go: optimización de memoria
06:41 - 18

Declaración y uso de estructuras de datos en Go
09:07 - 19

Implementación de enumeradores en Go para controlar estados
09:32
- 20

Errores personalizados en Go para mejor depuración
08:25 - 21

Go routines y channels: programación asíncrona en Go
10:53 - 22

Operador select para controlar Go routines y canales en Go
06:44 - 23

Implementación de timeouts en Go con select y time.After
05:50 - 24

Implementación práctica de workers con canales y goroutines en Go
09:43
Utilizar variables de ambiente es clave para mantener seguros datos sensibles, como cadenas de conexión, claves de acceso o configuraciones específicas, en cualquier aplicación. Con el lenguaje Go, manejar estas variables, así como agregar paquetes externos desde repositorios como GitHub, es un procedimiento sencillo y eficiente.
¿Por qué usar variables de ambiente en un proyecto de Go?
Las variables de ambiente aseguran la protección de datos críticos. Usarlas en Go es tan simple como escribir una sola línea de código. Con esta práctica:
- Proteges claves sensibles.
- Adaptas fácilmente tu aplicación a diferentes entornos.
- Mantienes tu código limpio y ordenado.
¿Cómo importar paquetes externos fácilmente en Go?
A diferencia de otros lenguajes como Node o Python que utilizan repositorios centralizados (npm y pip, respectivamente), Go no posee un repositorio centralizado. Sin embargo, te permite importar paquetes fácilmente desde GitHub u otros servicios similares. Los pasos son simples:
Crear un módulo en Go
Necesitas inicializar un módulo dentro de tu proyecto para gestionar los paquetes externos.
go mod init nombre-del-modulo
Agregar paquetes externos desde GitHub
Este comando descarga el paquete deseado y lo incluye automáticamente en tu proyecto.
go get github.com/autor/nombre-paquete
Luego podrás importarlo directamente en tu archivo .go usando la línea import.
¿Cómo trabajar con variables de ambiente desde un archivo .env?
Implementar la lectura de variables desde un archivo .env es sencillo en Go, especialmente usando paquetes externos. Luego de importar el paquete necesario, aplicas estos pasos:
Creación del archivo .env
Este archivo debe contener los datos que pretendes usar, como por ejemplo:
AppName=GoaMin
AppEmb=desarrollo
AppPort=8080
Configurar e invocar las variables en tu aplicación Go
Tu código puede verse como:
package main
import (
"fmt"
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load()
if err != nil {
log.Fatal("Error cargando el archivo env")
}
appName := os.Getenv("AppName")
appEnv := os.Getenv("AppEmb")
appPort := os.Getenv("AppPort")
fmt.Println("Nombre de la aplicación:", appName)
fmt.Println("Entorno de la aplicación:", appEnv)
fmt.Println("Puerto de la aplicación:", appPort)
}
Este enfoque permite acceder de manera rápida y eficiente a las variables definidas, tanto en tu proyecto como en las establecidas en el sistema operativo.
¿Cómo estás utilizando las variables de ambiente en tus proyectos de Go? Comparte tu experiencia en los comentarios.