Trabajar con variables de entorno en Go

Trabajar con variables de entorno en Go

Las variables de entorno son pares clave-valor con nombres dinámicos reservados en el entorno del host que se utilizan para afectar las operaciones en ejecución de los programas.

Las variables de entorno son populares para interactuar con datos confidenciales de la aplicación, ya que proporcionan una abstracción sobre la interfaz del entorno. Puede utilizar variables de entorno para aumentar la seguridad de sus aplicaciones.

Go proporciona compatibilidad integrada para trabajar con variables de entorno y hay muchos paquetes para trabajar con variables de entorno y archivos de variables de entorno ( .env ) en el ecosistema de Go.

Variables de entorno y el paquete os

la descripción general del paquete os-1

El paquete os proporciona funcionalidad para interactuar con el sistema operativo del entorno host. El paquete os proporciona métodos para establecer y recuperar pares clave-valor de variables de entorno.

Importe estos paquetes para configurar, cargar e imprimir las variables de entorno en su máquina host.

import (
    "fmt"
    "log"
    "os"
    "strings"
)

Puede establecer pares clave-valor de variables de entorno con el método Setenv del paquete os . El método Setenv toma el par y devuelve posibles errores.

err: = os.Setenv("NAME", "John")
err = os.Setenv("OTHER", "DOE")
if err! = nil {
        return
    }

Puede obtener variables de entorno por las claves (nombres) con el método Getenv . El método Getenv toma el nombre de la variable de entorno y devuelve el valor asociado con la clave.

name: = os.Getenv("NAME")
other: = os.Getenv("OTHER")

El método Environ le permite acceder a todas las variables de entorno en su máquina host. El método Environ devuelve una porción de cadenas que puede recorrer y acceder a las claves de las variables de entorno.

for _, variables: = range os.Environ() {
        envPair: = strings.SplitN(variables, "=", 2)
        fmt.Println(envPair[0])
}

El método SplitN del paquete de cadenas ayuda con la división por un delimitador. En este caso, divide el nombre de la variable del valor.

lista de variables de entorno

Cómo cargar variables de entorno desde. Archivos env

vista previa del enlace env de godot

El paquete godotenv es un puerto Go del proyecto Ruby dotenv para cargar variables de entorno desde el archivo dotenv.

El paquete godotenv proporciona funcionalidades para trabajar con archivos dotenv sobre el paquete os , puede escribir y leer desde archivos .env .

Ejecute este comando para crear un archivo .env en su directorio de trabajo.

touch. env

El comando táctil se utiliza para crear nuevos archivos. Agregue las siguientes líneas de código al archivo dotenv. Utilizará el paquete godotenv para leer estas variables de entorno en su programa Go.

# env
NAME="John"
OTHER="James"

Ejecute este comando en la terminal del directorio de su proyecto para instalar el paquete godotenv como una dependencia del proyecto.

go get github.com/joho/godotenv

Importe estos paquetes a su archivo Go. Los usará junto con el paquete godotenv para cargar variables de entorno e imprimirlas en la consola o registrar errores.

import (
    "fmt"
    "github.com/joho/godotenv"
    "log"
    "os"
)

Puede cargar un archivo .env con el método Load del paquete godotenv . El método Load toma el nombre del archivo y devuelve posibles errores.

err: = godotenv.Load(".env")
if err! = nil {
        log.Fatalf("Error loading environment variables file")
    }

Después de cargar el archivo dotenv, puede usar el método Getenv del paquete os para cargar las variables de entorno.

name: = os.Getenv("NAME")
other: = os.Getenv("OTHER")
fmt.Println(name)
fmt.Println(other)

Puede escribir en archivos dotenv con el método Write del paquete godotenv . El método Write toma un mapa de cadenas a cadenas y devuelve posibles errores.

func writeToDotEnv(){
    env, _: = godotenv.Unmarshal("KEY=value")
    err: = godotenv.Write(env, ".env")
    if err! = nil {
        log.Println("There was an error writing to the dotenv file")
}
}

El paquete godotenv desarma la cadena del par clave-valor con el método Unmarshal , y la variable env se convierte en un mapa de cadena a tipo de cadena.

La función writeToDotEnv escribe el contenido del mapa en el archivo .env en el directorio de trabajo. Esta operación sobrescribe los datos existentes.

Las variables ambientales siempre son útiles

Las variables de entorno facilitan la configuración y el cambio de los parámetros de ejecución de la aplicación sin alterar el código o las configuraciones, lo que aumenta la portabilidad de su aplicación.

Puede tener múltiples variables de entorno y archivos dotenv para diferentes escenarios para probar cómo se ejecuta su aplicación bajo diferentes parámetros o condiciones.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *