Configure su aplicación para diferentes entornos utilizando las variables de entorno. También agrega una capa adicional de seguridad a la aplicación.
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 soporte integrado 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 Go.
Variables de entorno y el paquete os
El sistema operativo El paquete proporciona funcionalidad para interactuar con el sistema operativo del entorno host. El sistema operativo El paquete 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.
importar (
"fmt"
"registro"
"os"
"instrumentos de cuerda"
)
Puede establecer pares clave-valor de variables de entorno con el Setenv metodo de la sistema operativo paquete. El Setenv El método toma el par y devuelve posibles errores.
error: = os. Setenv("NOMBRE", "John")
errar = os. Setenv("OTRO", "GAMA")
si error! = nulo {
devolver
}
Puede obtener variables de entorno por las claves (nombres) con el Getenv método. El Getenv El método toma el nombre de la variable de entorno y devuelve el valor asociado con la clave.
nombre := so. Obtenerv("NOMBRE")
otro := os. Obtenerv("OTRO")
El Reinar El método le permite acceder a todas las variables de entorno en su máquina host. El Reinar El método devuelve una porción de cadenas que puede recorrer y acceder a las claves de las variables de entorno.
para _, variables := rango so. Entorno() {
envPair := cadenas. DividirN(variables, "=", 2)
fmt. println (envPair[0])
}
El DividirN El método del paquete de cadenas ayuda a dividir por un delimitador. En este caso, divide el nombre de la variable del valor.
Cómo cargar variables de entorno desde archivos .env
El godotenv El paquete es un puerto Go del proyecto Ruby dotenv para cargar variables de entorno desde el archivo dotenv.
El godotenv paquete proporciona funcionalidades para trabajar con archivos dotenv sobre el sistema operativo paquete, puede escribir y leer desde .env archivos
Ejecute este comando para crear un .env archivo en su directorio de trabajo.
toque .env
El comando táctil se utiliza para crear nuevos archivos.. Agregue las siguientes líneas de código al archivo dotenv. Usarás el godotenv paquete para leer estas variables de entorno en su programa Go.
# env
NOMBRE="John"
OTRO="Jaime"
Ejecute este comando en la terminal del directorio de su proyecto para instalar el godotenv paquete como una dependencia del proyecto.
ir obtener github.com/joho/godotenv
Importe estos paquetes a su archivo Go. Los usará junto con el godotenv paquete para cargar variables de entorno e imprimirlas en la consola o registrar errores.
importar (
"fmt"
"github.com/joho/godotenv"
"registro"
"os"
)
Puedes cargar un .env archivo con el Carga metodo de la godotenv paquete. El Carga El método toma el nombre del archivo y devuelve posibles errores.
err := godotenv. Carga(".env")
si error! = nulo {
registro. Fatalfo("Error al cargar el archivo de variables de entorno")
}
Después de cargar el archivo dotenv, puede usar el Getenv metodo de la sistema operativo paquete para cargar las variables de entorno.
nombre := so. Obtenerv("NOMBRE")
otro := os. Obtenerv("OTRO")
fmt. Imprimir (nombre)
fmt. Imprimir (otro)
Puede escribir en archivos dotenv con el Escribir metodo de la godotenv paquete. El Escribir El método toma un mapa de cadenas a cadenas y devuelve posibles errores.
funciónescribirEnEnvDePunto(){
env, _ := godotenv. desarmar ("CLAVE=valor")
err := godotenv. Escribir (env, ".env")
si error! = nulo {
registro. imprimir("Hubo un error al escribir en el archivo dotenv")
}
}
El godotenv El paquete desarma la cadena del par clave-valor con el desmantelar método, y el env variable se convierte en un mapa de cadena a tipo de cadena.
El escribirEnEnvDePunto La función escribe el contenido del mapa en el .env archivo 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 ni las configuraciones, lo que aumenta la portabilidad de su aplicación.
Puede tener múltiples variables de entorno y dotenv archivos para diferentes escenarios para probar cómo se ejecuta su aplicación bajo diferentes parámetros o condiciones.