Golang os getenv

Golang os getenv
Une variable d'environnement fait référence à un mécanisme pour l'approvisionnement des informations de configuration dynamique aux programmes UNIX à l'exécution. Les variables d'environnement sont très utiles car elles aident à définir la configuration et les comportements dynamiques pour les applications en fonction de l'environnement.

Dans les systèmes Linux, des exemples de variables d'environnement incluent l'emplacement des programmes exécutables dans le système de fichiers, le shell utilisateur, la PWD, le répertoire domestique pour un utilisateur spécifique, MOTD et bien d'autres.

Go, un langage de programmation moderne et vaste fournit le package OS pour interagir avec les variables environnementales.

Nous couvrirons les principes fondamentaux du travail avec les variables environnementales dans la langue Go tout au long de ce tutoriel.

GETENV

La première méthode que nous allons couvrir est la méthode GETENV. Cette méthode vous permet de récupérer les valeurs d'une variable d'environnement. La fonction prend le nom de la variable d'environnement comme paramètre et renvoie sa valeur associée.

Si la variable d'environnement spécifiée n'existe pas sur le système, la fonction renvoie une valeur vide. Cela peut être un peu déroutant si la variable d'environnement existe mais n'est pas défini.

La syntaxe de fonction est comme indiqué:

OS.GETENV (clé)

Considérez l'exemple ci-dessous:

package principal
importer (
"FMT"
"OS"
)
func main ()
fmt.Println ("Home:", OS.Getenv ("home"))

L'exemple récupérera la valeur du répertoire domestique pour l'utilisateur. Un exemple de sortie est comme indiqué:

$ va run grenenv.aller
Accueil: C: \ Users \ csalem // Windows
Accueil: / Home / Debian // Debian

Lookupenv

Comme mentionné, la fonction GETENV renvoie une valeur vide si la variable d'environnement n'existe pas. Cependant, la fonction renvoie également une valeur vide si la variable d'environnement n'est pas définie.

Pour résoudre ce problème, nous pouvons utiliser la fonction LookUpenv (). La fonction récupérera la valeur de la variable d'environnement si elle existe et renvoie un vrai booléen. Si la variable d'environnement n'existe pas, la fonction renvoie une valeur vide et un faux booléen.

Considérez l'exemple ci-dessous:

Func Lookup (Key String)
_, trouvé: = OS.Lookupenv (clé)
si trouvé
fmt.Println ("Variable Environmet Found")
autre
fmt.Println ("Variable Environmnt introuvable")

L'exemple contient une fonction qui prend la variable d'environnement comme paramètre. Nous utilisons ensuite la valeur de la clé pour vérifier si elle existe en utilisant une instruction IF.

Si nous exécutons le code ci-dessus avec deux paramètres comme indiqué:

Lookup ("Home")
Lookup ("not_ there")

La sortie résultante:

$ va run grenenv.aller
Variable EnvironMet trouvée
Variable Environemnt introuvable

Setenv

Et si nous voulons définir une valeur pour une variable d'environnement spécifique? Dans un tel scénario, nous pouvons utiliser la fonction setenv (). La fonction prend la clé (nom de la variable d'environnement) et sa valeur associée comme paramètres.

L'exemple ci-dessous définit la valeur du shell utilisateur:

func set_shell ()
fmt.Println ("avant:", OS.Getenv ("shell"))
OS.Setenv ("shell", "/ bin / zsh")
fmt.Println ("After:", OS.Getenv ("shell"))

L'exemple ci-dessus définit la valeur de la variable d'environnement de la coquille à «/ bin / zsh». Un exemple de sortie est comme:

Avant: / bin / bash
After: / bin / zsh

Insensible

Nous pouvons également non set une variable d'environnement à l'aide de la méthode Unsetenv (). Un exemple est comme indiqué:

func unset_env ()
fmt.Println ("Home:", OS.Getenv ("home"))
OS.Unsentenv ("Home")
fmt.Println ("Home:", OS.Getenv ("home"))

L'exemple ci-dessus annulra la valeur de la variable Env de la maison.

Sortir:

$ va run grenenv.aller
Accueil: C: \ Users \ csalem // Windows
Maison:

Environ

La méthode Environ () vous permet de répertorier toutes les variables d'environnement dans un système. La fonction renvoie le résultat sous la forme de paires de valeurs clés.

Un exemple est indiqué ci-dessous:

func list_env ()
pour _, Env: = plage OS.Environ ()
paire: = cordes.Splitn (Env, "=", 2)
fmt.Printf ("% s:% s \ n", paire [0], paire [1])

L'exemple ci-dessus utilise la méthode Environ () pour répertorier toutes les variables d'environnement du système. Nous utilisons ensuite la méthode Splitn pour diviser les chaînes en paires de valeurs clés.

Cleentenv ()

Si vous souhaitez supprimer toutes les variables d'environnement de votre système, vous pouvez utiliser la méthode ellicv ().

Prudence lors de l'utilisation de cette méthode car elle réinitialise tout l'env dans le système.

Pour l'utiliser, considérez l'extrait ci-dessous:

OS.Cleentenv ()

Étendre

Le Expandenv () vous permet de remplacer le $ var par la valeur réelle d'une variable d'environnement à l'intérieur d'une chaîne. Ceci est une fonction très utile lorsque vous travaillez avec Env.

Par exemple:

func Remplace_env ()
fmt.Println (OS.Expandenv ("Nom d'utilisateur: $ nom d'utilisateur."))

La fonction élargira la variable d'environnement «nom d'utilisateur» et remplacera sa valeur à l'intérieur de la chaîne. Le résultat est comme:

Nom d'utilisateur: CSALEM.

Conclusion

Ce guide a exploré les bases du travail avec des variables d'environnement dans le langage de programmation Go à l'aide du package OS.