Konfigurer din applikation til forskellige miljøer ved hjælp af miljøvariablerne. Det tilføjer også et ekstra lag af sikkerhed til applikationen.
Miljøvariabler er dynamisk navngivne nøgle-værdi-par, der er tilsidesat i værtsmiljøet, der bruges til at påvirke programmernes drift.
Miljøvariabler er populære til at interagere med applikationsfølsomme data, da de giver en abstraktion over miljøets grænseflade. Du kan bruge miljøvariabler til at øge dine applikationers sikkerhed.
Go giver indbygget support til at arbejde med miljøvariabler, og der er mange pakker til at arbejde med miljøvariabler og miljøvariablefiler (.env) i Go-økosystemet.
Miljøvariabler og OS-pakken
Det os pakken giver funktionalitet til at interagere med værtsmiljøets operativsystem. Det os pakken giver metoder til at indstille og hente miljøvariable nøgleværdi-par.
Importer disse pakker til indstilling, indlæsning og udskrivning af miljøvariablerne på din værtsmaskine.
importere (
"fmt"
"log"
"os"
"strenge"
)
Du kan indstille miljøvariablen nøgleværdi-par med Setenv metoden til os pakke. Det Setenv metode tager parret ind og returnerer mulige fejl.
fejl := os. Setenv("NAVN", "John")
fejl = os. Setenv("ANDET", "DØ")
hvis fejl!= nul {
Vend tilbage
}
Du kan hente miljøvariabler ved hjælp af tasterne (navnene) med Getenv metode. Det Getenv metoden tager miljøvariablens navn og returnerer den værdi, der er knyttet til nøglen.
navn := os. Getenv("NAVN")
andet := os. Getenv("ANDET")
Det Environ metode giver dig adgang til alle miljøvariabler på din værtsmaskine. Det Environ metoden returnerer et udsnit af strenge, du kan gå igennem og få adgang til nøglerne til miljøvariabler.
til _, variabler := rækkevidde os. Environ() {
envPair := strenge. SplitN(variabler, "=", 2)
fmt. Println (envPair[0])
}
Det SplitN metoden for strenge-pakken hjælper med at opdele med en afgrænser. I dette tilfælde opdeler den variabelnavnet fra værdien.
Sådan indlæses miljøvariabler fra .env-filer
Det godotenv pakken er en Go-port i Ruby dotenv-projektet til indlæsning af miljøvariabler fra dotenv-filen.
Det godotenv pakke giver funktionaliteter til arbejder med dotenv-filer over os pakke, du kan skrive og læse fra .env filer.
Kør denne kommando for at oprette en .env fil i din arbejdsmappe.
berør .env
Berøringskommandoen bruges til at oprette nye filer. Tilføj følgende kodelinjer til dotenv-filen. Du vil bruge godotenv pakke til at læse disse miljøvariabler i dit Go-program.
# env
NAVN="John"
ANDET="James"
Kør denne kommando i terminalen i dit projekts bibliotek for at installere godotenv pakke som en projektafhængighed.
gå få github.com/joho/godotenv
Importer disse pakker til din Go-fil. Du vil bruge dem sammen med godotenv pakke for at indlæse miljøvariabler og udskrive dem til konsollen eller logge fejl.
importere (
"fmt"
"github.com/joho/godotenv"
"log"
"os"
)
Du kan indlæse en .env fil med belastning metoden til godotenv pakke. Det belastning metoden tager filnavnet ind og returnerer mulige fejl.
fejl := godotenv. Belastning(".env")
hvis fejl!= nul {
log. Fatalf("Fejl ved indlæsning af fil med miljøvariabler")
}
Efter indlæsning af dotenv-filen kan du bruge Getenv metoden til os pakke for at indlæse miljøvariablerne.
navn := os. Getenv("NAVN")
andet := os. Getenv("ANDET")
fmt. Println (navn)
fmt. Println (andet)
Du kan skrive til dotenv-filer med Skrive metoden til godotenv pakke. Det Skrive metoden tager et kort over strenge til strenge og returnerer mulige fejl.
funcwriteToDotEnv(){
env, _ := godotenv. Unmarshal("KEY=værdi")
fejl := godotenv. Skriv (env, ".env")
hvis fejl!= nul {
log. Println("Der opstod en fejl ved skrivning til dotenv-filen")
}
}
Det godotenv pakke unmarshaler nøgleværdi-parstrengen med Umarskal metode, og env variabel bliver et kort over streng til strengtype.
Det writeToDotEnv funktion skriver kortets indhold til .env fil i arbejdsbiblioteket. Denne handling overskriver de eksisterende data.
Miljøvariabler er altid praktisk
Miljøvariabler gør det nemt at indstille og ændre applikationens udførelsesparametre uden at ændre kode eller konfigurationer, hvilket øger mobiliteten af din applikation.
Du kan have flere miljøvariabler og dotenv filer til forskellige scenarier for at teste, hvordan din applikation kører under forskellige parametre eller forhold.