Configureer uw toepassing voor verschillende omgevingen met behulp van de omgevingsvariabelen. Het voegt ook een extra beveiligingslaag toe aan de applicatie.
Omgevingsvariabelen zijn dynamisch benoemde sleutel-waardeparen die apart worden gezet in de hostomgeving en worden gebruikt om de lopende werking van programma's te beïnvloeden.
Omgevingsvariabelen zijn populair voor interactie met toepassingsgevoelige gegevens, omdat ze een abstractie bieden over de interface van de omgeving. U kunt omgevingsvariabelen gebruiken om de beveiliging van uw toepassingen te vergroten.
Go biedt ingebouwde ondersteuning voor het werken met omgevingsvariabelen en er zijn veel pakketten voor het werken met omgevingsvariabelen en omgevingsvariabelebestanden (.env) in het Go-ecosysteem.
Omgevingsvariabelen en het os-pakket
De os pakket biedt functionaliteit voor interactie met het besturingssysteem van de hostomgeving. De os pakket biedt methoden voor het instellen en ophalen van omgevingsvariabele sleutel-waardeparen.
Importeer deze pakketten om de omgevingsvariabelen op uw hostcomputer in te stellen, te laden en af te drukken.
importeren (
"fmt"
"logboek"
"os"
"snaren"
)
U kunt omgevingsvariabele sleutel-waardeparen instellen met de Setenv methode van de os pakket. De Setenv methode neemt het paar in en retourneert mogelijke fouten.
fout := os. Setenv("NAAM", "John")
fout = os. Setenv("ANDER", "DOE")
als fout!= nihil {
opbrengst
}
U kunt omgevingsvariabelen ophalen met de sleutels (namen) met de Krijgv methode. De Krijgv methode neemt de naam van de omgevingsvariabele over en retourneert de waarde die aan de sleutel is gekoppeld.
naam := os. Getenv("NAAM")
andere := os. Getenv("ANDER")
De Omgeving methode geeft u toegang tot alle omgevingsvariabelen op uw hostcomputer. De Omgeving methode retourneert een stukje strings waar je doorheen kunt lopen en toegang hebt tot de sleutels van omgevingsvariabelen.
voor _, variabelen := bereik os. Omgeving() {
envPair := tekenreeksen. SplitN(variabelen, "=", 2)
fmt. Println (envPair[0])
}
De SplitN methode van het strings-pakket helpt bij het splitsen door een scheidingsteken. In dit geval splitst het de variabelenaam van de waarde.
Omgevingsvariabelen laden vanuit .env-bestanden
De godotenv pakket is een Go-poort van het Ruby dotenv-project voor het laden van omgevingsvariabelen uit het dotenv-bestand.
De godotenv pakket biedt functionaliteiten voor werken met dotenv-bestanden over de os pakket, waaruit u kunt schrijven en lezen .env bestanden.
Voer deze opdracht uit om een .env bestand in uw werkmap.
raak .env aan
De touch-opdracht wordt gebruikt om nieuwe bestanden te maken. Voeg de volgende regels code toe aan het dotenv-bestand. Je gebruikt de godotenv pakket om deze omgevingsvariabelen in uw Go-programma te lezen.
# env
NAAM="John"
ANDERE="James"
Voer deze opdracht uit in de terminal van de map van uw project om het godotenv pakket als een projectafhankelijkheid.
gaan ga naar github.com/joho/godotenv
Importeer deze pakketten in uw Go-bestand. Je gebruikt ze samen met de godotenv pakket om omgevingsvariabelen te laden en af te drukken naar de console of fouten te loggen.
importeren (
"fmt"
"github.com/joho/godotenv"
"logboek"
"os"
)
U kunt een laden .env bestand met de Laden methode van de godotenv pakket. De Laden methode neemt de bestandsnaam in en retourneert mogelijke fouten.
err := godotenv. Laden(".env")
als fout!= nihil {
loggen. fataal("Fout bij laden van bestand met omgevingsvariabelen")
}
Na het laden van het dotenv-bestand kunt u de Krijgv methode van de os pakket om de omgevingsvariabelen te laden.
naam := os. Getenv("NAAM")
andere := os. Getenv("ANDER")
fmt. Println (naam)
fmt. Println (andere)
U kunt naar dotenv-bestanden schrijven met de Schrijven methode van de godotenv pakket. De Schrijven methode neemt een kaart van strings naar strings en retourneert mogelijke fouten.
funcwriteToDotEnv(){
env, _ := godotenv. onmaarschalk ("SLEUTEL=waarde")
err := godotenv. Schrijf (env, ".env")
als fout!= nihil {
loggen. Println("Er is een fout opgetreden bij het schrijven naar het dotenv-bestand")
}
}
De godotenv package demarselt de tekenreeks van het sleutel-waardepaar met de onmaarschalk methode, en de env variabele wordt een kaart van tekenreeks naar tekenreekstype.
De writeToDotEnv functie schrijft de inhoud van de kaart naar de .env bestand in de werkmap. Deze bewerking overschrijft de bestaande gegevens.
Omgevingsvariabelen zijn altijd handig
Omgevingsvariabelen maken het eenvoudig om de uitvoeringsparameters van de applicatie in te stellen en te wijzigen zonder de code of configuraties te wijzigen, waardoor de overdraagbaarheid van uw applicatie wordt vergroot.
U kunt meerdere omgevingsvariabelen hebben en dotenv bestanden voor verschillende scenario's om te testen hoe uw toepassing werkt onder verschillende parameters of omstandigheden.