Heim  >  Artikel  >  Backend-Entwicklung  >  Wie weist man in Go Standardwerte für Null-Umgebungsvariablen zu?

Wie weist man in Go Standardwerte für Null-Umgebungsvariablen zu?

Barbara Streisand
Barbara StreisandOriginal
2024-11-14 20:41:02612Durchsuche

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

Zuweisen von Standardwerten für Nil-Umgebungsvariablen in Go

In Go gibt es im Gegensatz zur Python-Funktion os.getenv() keine integrierte in Mechanismus zum Zuweisen eines Standardwerts, wenn eine Umgebungsvariable nicht festgelegt ist. Um dieses Problem anzugehen, können die folgenden Ansätze verwendet werden:

Option 1: Verwendung eines if-else-Blocks

Obwohl man sich auf if-else-Anweisungen verlässt, um Variablenzustände zu überprüfen Da generell davon abgeraten wird, können damit Standardwerte für Umgebungsvariablen zugewiesen werden:

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

Option 2: Erstellen einer Hilfsfunktion

Für mehrere Umgebungsvariablen erstellen Eine Hilfsfunktion bietet einen saubereren Ansatz:

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

Um es zu verwenden:

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

Option 3: Verwendung von os.LookupEnv(key) Boolean

os.LookupEnv gibt zwei Werte zurück: den Wert und seinen Existenzstatus. Dies kann verwendet werden, um einen Standardwert wie folgt festzulegen:

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

Beachten Sie, dass stattdessen der Fallback-Wert zugewiesen wird, wenn der Wert der Umgebungsvariablen leer ist.

Das obige ist der detaillierte Inhalt vonWie weist man in Go Standardwerte für Null-Umgebungsvariablen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn