Arbeiten mit Umgebungsvariablen in Go

Arbeiten mit Umgebungsvariablen in Go

Umgebungsvariablen sind dynamisch benannte Schlüssel-Wert-Paare, die in der Hostumgebung reserviert sind, um die laufenden Operationen von Programmen zu beeinflussen.

Umgebungsvariablen sind beliebt für die Interaktion mit anwendungsrelevanten Daten, da sie eine Abstraktion über die Schnittstelle der Umgebung bieten. Sie können Umgebungsvariablen verwenden, um die Sicherheit Ihrer Anwendungen zu erhöhen.

Go bietet integrierte Unterstützung für die Arbeit mit Umgebungsvariablen, und es gibt viele Pakete für die Arbeit mit Umgebungsvariablen und Umgebungsvariablendateien ( .env ) im Go-Ökosystem.

Umgebungsvariablen und das os-Paket

die os Paketübersicht-1

Das os -Paket stellt Funktionen für die Interaktion mit dem Betriebssystem der Hostumgebung bereit. Das os -Paket stellt Methoden zum Festlegen und Abrufen von Schlüssel-Wert-Paaren für Umgebungsvariablen bereit.

Importieren Sie diese Pakete zum Festlegen, Laden und Drucken der Umgebungsvariablen auf Ihrem Hostcomputer.

import (
    "fmt"
    "log"
    "os"
    "strings"
)

Sie können Schlüssel-Wert-Paare für Umgebungsvariablen mit der Setenv – Methode des os -Pakets festlegen. Die Setenv- Methode übernimmt das Paar und gibt mögliche Fehler zurück.

err: = os.Setenv("NAME", "John")
err = os.Setenv("OTHER", "DOE")
if err! = nil {
        return
    }

Mit der Getenv- Methode können Sie Umgebungsvariablen anhand der Schlüssel (Namen) abrufen. Die Getenv- Methode übernimmt den Namen der Umgebungsvariablen und gibt den dem Schlüssel zugeordneten Wert zurück.

name: = os.Getenv("NAME")
other: = os.Getenv("OTHER")

Mit der Environ -Methode können Sie auf alle Umgebungsvariablen auf Ihrem Hostcomputer zugreifen. Die Environ- Methode gibt einen Teil von Zeichenfolgen zurück, die Sie durchlaufen und auf die Schlüssel von Umgebungsvariablen zugreifen können.

for _, variables: = range os.Environ() {
        envPair: = strings.SplitN(variables, "=", 2)
        fmt.Println(envPair[0])
}

Die SplitN- Methode des strings-Pakets hilft beim Aufteilen durch ein Trennzeichen. In diesem Fall wird der Variablenname vom Wert getrennt.

Liste der Umgebungsvariablen

So laden Sie Umgebungsvariablen aus. env-Dateien

Godot env Linkvorschau

Das Paket godotenv ist eine Go-Portierung des Ruby dotenv-Projekts zum Laden von Umgebungsvariablen aus der dotenv-Datei.

Das godotenv -Paket bietet Funktionen für die Arbeit mit dotenv-Dateien über das os -Paket, Sie können aus .env- Dateien schreiben und lesen.

Führen Sie diesen Befehl aus, um eine .env -Datei in Ihrem Arbeitsverzeichnis zu erstellen.

touch. env

Der Touch-Befehl wird verwendet, um neue Dateien zu erstellen. Fügen Sie der dotenv-Datei die folgenden Codezeilen hinzu. Sie verwenden das Paket godotenv , um diese Umgebungsvariablen in Ihrem Go-Programm zu lesen.

# env
NAME="John"
OTHER="James"

Führen Sie diesen Befehl im Terminal Ihres Projektverzeichnisses aus, um das Godotenv -Paket als Projektabhängigkeit zu installieren.

go get github.com/joho/godotenv

Importieren Sie diese Pakete in Ihre Go-Datei. Sie verwenden sie zusammen mit dem Paket godotenv , um Umgebungsvariablen zu laden und sie auf der Konsole auszugeben oder Fehler zu protokollieren.

import (
    "fmt"
    "github.com/joho/godotenv"
    "log"
    "os"
)

Sie können eine .env -Datei mit der Load – Methode des godotenv -Pakets laden. Die Load -Methode übernimmt den Dateinamen und gibt mögliche Fehler zurück.

err: = godotenv.Load(".env")
if err! = nil {
        log.Fatalf("Error loading environment variables file")
    }

Nach dem Laden der dotenv-Datei können Sie die Getenv- Methode des os -Pakets verwenden, um die Umgebungsvariablen zu laden.

name: = os.Getenv("NAME")
other: = os.Getenv("OTHER")
fmt.Println(name)
fmt.Println(other)

Sie können mit der Write – Methode des godotenv -Pakets in dotenv-Dateien schreiben. Die Write- Methode übernimmt eine Zuordnung von Zeichenfolgen zu Zeichenfolgen und gibt mögliche Fehler zurück.

func writeToDotEnv(){
    env, _: = godotenv.Unmarshal("KEY=value")
    err: = godotenv.Write(env, ".env")
    if err! = nil {
        log.Println("There was an error writing to the dotenv file")
}
}

Das Paket godotenv entpackt den Schlüssel-Wert-Paar-String mit der Unmarshal – Methode, und die env – Variable wird zu einer Zuordnung von String zu String-Typ.

Die Funktion writeToDotEnv schreibt den Inhalt der Karte in die .env -Datei im Arbeitsverzeichnis. Dieser Vorgang überschreibt die vorhandenen Daten.

Umgebungsvariablen sind immer praktisch

Umgebungsvariablen erleichtern das Festlegen und Ändern der Ausführungsparameter der Anwendung, ohne Code oder Konfigurationen zu ändern, wodurch die Portabilität Ihrer Anwendung erhöht wird.

Sie können mehrere Umgebungsvariablen und dotenv- Dateien für verschiedene Szenarien haben, um zu testen, wie Ihre Anwendung unter verschiedenen Parametern oder Bedingungen ausgeführt wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert