Maison >développement back-end >Golang >Comment attribuer des valeurs par défaut aux variables d'environnement nulles dans Go ?

Comment attribuer des valeurs par défaut aux variables d'environnement nulles dans Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-14 20:41:02679parcourir

How to Assign Default Values for Nil Environment Variables in Go?

Attribution de valeurs par défaut aux variables d'environnement nulles dans Go

Dans Go, contrairement à la fonction os.getenv() de Python, il n'y a pas de dans le mécanisme pour attribuer une valeur par défaut si une variable d'environnement n'est pas définie. Pour résoudre ce problème, les approches suivantes peuvent être utilisées :

Option 1 : Utiliser un bloc if-else

Bien que s'appuyant sur des instructions if-else pour vérifier les états des variables est généralement déconseillé, il peut être utilisé pour attribuer des valeurs par défaut aux variables d'environnement :

var mongoPassword string
if mongoPass := os.Getenv("MONGO_PASS"); mongoPass != "" {
    mongoPassword = mongoPass
} else {
    mongoPassword = "pass"
}

Option 2 : Créer une fonction d'assistance

Pour plusieurs variables d'environnement, créer une fonction d'assistance fournit une approche plus propre :

func getenv(key, fallback string) string {
    value := os.Getenv(key)
    if len(value) == 0 {
        return fallback
    }
    return value
}

Pour l'utiliser :

mongoPassword := getenv("MONGO_PASS", "pass")

Option 3 : Utiliser os.LookupEnv(key) Boolean

os.LookupEnv renvoie deux valeurs : la valeur et son statut d'existence. Cela peut être utilisé pour définir une valeur par défaut comme suit :

func getEnv(key, fallback string) string {
    if value, ok := os.LookupEnv(key); ok {
        return value
    }
    return fallback
}

Notez que si la valeur de la variable d'environnement est vide, la valeur de secours sera attribuée à la place.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn