Configurez votre application pour différents environnements à l'aide des variables d'environnement. Il ajoute également une couche de sécurité supplémentaire à l'application.
Les variables d'environnement sont des paires clé-valeur nommées dynamiquement et mises de côté dans l'environnement hôte utilisé pour affecter les opérations en cours d'exécution des programmes.
Les variables d'environnement sont populaires pour interagir avec les données sensibles à l'application car elles fournissent une abstraction sur l'interface de l'environnement. Vous pouvez utiliser des variables d'environnement pour augmenter la sécurité de vos applications.
Go fournit une prise en charge intégrée pour travailler avec des variables d'environnement, et il existe de nombreux packages pour travailler avec des variables d'environnement et des fichiers de variables d'environnement (
.env) dans l'écosystème Go.Variables d'environnement et package os
Le os Le package fournit des fonctionnalités permettant d'interagir avec le système d'exploitation de l'environnement hôte. Le os Le package fournit des méthodes pour définir et récupérer des paires clé-valeur de variable d'environnement.
Importez ces packages pour définir, charger et imprimer les variables d'environnement sur votre machine hôte.
importer (
"fmt"
"enregistrer"
"os"
"cordes"
)
Vous pouvez définir des paires clé-valeur de variable d'environnement avec Setenv méthode de la os emballer. Le Setenv La méthode prend la paire et renvoie les erreurs possibles.
erreur := os. Setenv("NOM", "John")
erreur = os. Setenv("AUTRE", "BICHE")
si erreur != néant {
retour
}
Vous pouvez récupérer les variables d'environnement par les clés (noms) avec le Getenv méthode. Le Getenv La méthode prend le nom de la variable d'environnement et renvoie la valeur associée à la clé.
nom := os. Getenv("NOM")
autre := os. Getenv("AUTRE")
Le Environ La méthode vous permet d'accéder à toutes les variables d'environnement sur votre machine hôte. Le Environ La méthode renvoie une tranche de chaînes que vous pouvez parcourir et accéder aux clés des variables d'environnement.
pour _, variable := gamme os. Environ() {
envPair := chaînes. SplitN(variables, "=", 2)
fmt. Println (envPair[0])
}
Le SplitN La méthode du package strings aide à diviser par un délimiteur. Dans ce cas, il sépare le nom de la variable de la valeur.
Comment charger des variables d'environnement à partir de fichiers .env
Le godotenv package est un port Go du projet Ruby dotenv pour le chargement des variables d'environnement à partir du fichier dotenv.
Le godotenv package fournit des fonctionnalités pour travailler avec des fichiers dotenv au dessus de os package, vous pouvez écrire et lire à partir de .env des dossiers.
Exécutez cette commande pour créer un .env fichier dans votre répertoire de travail.
toucher .env
La commande touch est utilisée pour créer de nouveaux fichiers. Ajoutez les lignes de code suivantes au fichier dotenv. Vous utiliserez le godotenv package pour lire ces variables d'environnement dans votre programme Go.
# env
NOM="John"
AUTRE="James"
Exécutez cette commande dans le terminal du répertoire de votre projet pour installer le godotenv package en tant que dépendance du projet.
aller obtenir github.com/joho/godotenv
Importez ces packages dans votre fichier Go. Vous les utiliserez avec les godotenv package pour charger les variables d'environnement et les imprimer sur la console ou consigner les erreurs.
importer (
"fmt"
"github.com/joho/godotenv"
"enregistrer"
"os"
)
Vous pouvez charger un .env déposer auprès de la Charger méthode de la godotenv emballer. Le Charger La méthode prend le nom du fichier et renvoie les erreurs possibles.
euh := godotenv. Charger(".env")
si erreur != néant {
enregistrer. Fatalf("Erreur lors du chargement du fichier de variables d'environnement")
}
Après avoir chargé le fichier dotenv, vous pouvez utiliser le Getenv méthode de la os package pour charger les variables d'environnement.
nom := os. Getenv("NOM")
autre := os. Getenv("AUTRE")
fmt. Println (nom)
fmt. Println (autre)
Vous pouvez écrire dans des fichiers dotenv avec le Écrire méthode de la godotenv emballer. Le Écrire La méthode prend une carte de chaînes en chaînes et renvoie les erreurs possibles.
fonctionwriteToDotEnv(){
env, _ := godotenv. Unmarshal ("CLE=valeur")
euh := godotenv. Ecrire (env, ".env")
si erreur != néant {
enregistrer. Imprimerln("Une erreur s'est produite lors de l'écriture dans le fichier dotenv")
}
}
Le godotenv package démarshale la chaîne de la paire clé-valeur avec le Démaréchal méthode, et la env devient une carte de type chaîne à chaîne.
Le writeToDotEnv fonction écrit le contenu de la carte dans la .env fichier dans le répertoire de travail. Cette opération écrase les données existantes.
Les variables d'environnement sont toujours utiles
Les variables d'environnement facilitent la définition et la modification des paramètres d'exécution de l'application sans modifier le code ou les configurations, augmentant ainsi la portabilité de votre application.
Vous pouvez avoir plusieurs variables d'environnement et dotenv fichiers pour différents scénarios afin de tester le fonctionnement de votre application sous différents paramètres ou conditions.