Configura la tua applicazione per diversi ambienti utilizzando le variabili di ambiente. Aggiunge inoltre un ulteriore livello di sicurezza all'applicazione.
Le variabili di ambiente sono coppie chiave-valore denominate in modo dinamico riservate nell'ambiente host utilizzate per influenzare le operazioni in esecuzione dei programmi.
Le variabili di ambiente sono popolari per l'interazione con i dati sensibili all'applicazione in quanto forniscono un'astrazione sull'interfaccia dell'ambiente. Puoi utilizzare le variabili di ambiente per aumentare la sicurezza delle tue applicazioni.
Go fornisce il supporto integrato per lavorare con le variabili di ambiente e ci sono molti pacchetti per lavorare con variabili di ambiente e file di variabili di ambiente (.env) nell'ecosistema Go.
Variabili d'ambiente e pacchetto os
IL os Il pacchetto fornisce funzionalità per l'interazione con il sistema operativo dell'ambiente host. IL os pacchetto fornisce metodi per l'impostazione e il recupero di coppie chiave-valore di variabili di ambiente.
Importa questi pacchetti per impostare, caricare e stampare le variabili di ambiente sul tuo computer host.
importare (
"fmt"
"tronco d'albero"
"os"
"stringhe"
)
Puoi impostare coppie chiave-valore della variabile di ambiente con il file Setenv metodo del os pacchetto. IL Setenv Il metodo accetta la coppia e restituisce possibili errori.
err := os. Setenv("NOME", "John")
err = os. Setenv("ALTRO", "DOE")
Se errare!= zero {
ritorno
}
Puoi recuperare le variabili d'ambiente tramite le chiavi (nomi) con il Getenv metodo. IL Getenv Il metodo accetta il nome della variabile di ambiente e restituisce il valore associato alla chiave.
nome := os. Getenv("NOME")
altro := os. Getenv("ALTRO")
IL Dintorni metodo ti consente di accedere a tutte le variabili di ambiente sul tuo computer host. IL Dintorni Il metodo restituisce una porzione di stringhe che puoi scorrere e accedere alle chiavi delle variabili di ambiente.
per _, variabili := allineare os. Ambiente() {
envPair := stringhe. SplitN(variabili, "=", 2)
fmt. Println (envPair[0])
}
IL SpalatoN Il metodo del pacchetto strings aiuta con la suddivisione in base a un delimitatore. In questo caso, divide il nome della variabile dal valore.
Come caricare le variabili d'ambiente dai file .env
IL godotenv package è una porta Go del progetto Ruby dotenv per il caricamento delle variabili di ambiente dal file dotenv.
IL godotenv pacchetto fornisce funzionalità per lavorare con i file dotenv sopra il os pacchetto, puoi scrivere e leggere da .env File.
Esegui questo comando per creare un file .env file nella tua directory di lavoro.
toccare .env
Il comando touch viene utilizzato per creare nuovi file. Aggiungi le seguenti righe di codice al file dotenv. Userai il godotenv package per leggere queste variabili d'ambiente nel tuo programma Go.
# avv
NOME="John"
ALTRO="Giacomo"
Esegui questo comando nel terminale della directory del tuo progetto per installare il file godotenv package come dipendenza del progetto.
andare scarica github.com/joho/godotenv
Importa questi pacchetti nel tuo file Go. Li userai insieme a godotenv package per caricare le variabili di ambiente e stamparle sulla console o registrare gli errori.
importare (
"fmt"
"github.com/joho/godotenv"
"tronco d'albero"
"os"
)
Puoi caricare un file .env file con il Carico metodo del godotenv pacchetto. IL Carico Il metodo accetta il nome del file e restituisce possibili errori.
err := godotenv. Carico(".env")
Se errare!= zero {
tronco d'albero. Fatalf("Errore durante il caricamento del file delle variabili d'ambiente")
}
Dopo aver caricato il file dotenv, puoi utilizzare il file Getenv metodo del os pacchetto per caricare le variabili di ambiente.
nome := os. Getenv("NOME")
altro := os. Getenv("ALTRO")
fmt. Println (nome)
fmt. Println (altro)
Puoi scrivere su file dotenv con l'estensione Scrivere metodo del godotenv pacchetto. IL Scrivere Il metodo accetta una mappa di stringhe in stringhe e restituisce possibili errori.
funzwriteToDotEnv(){
env, _ := godotenv. non maresciallo("CHIAVE=valore")
err := godotenv. Scrivi (env, ".env")
Se errare!= zero {
tronco d'albero. Stampaln("Si è verificato un errore durante la scrittura nel file dotenv")
}
}
IL godotenv package esegue l'unmarshalling della stringa della coppia chiave-valore con il Non maresciallo metodo e il avv la variabile diventa una mappa di tipo da stringa a stringa.
IL writeToDotEnv La funzione scrive il contenuto della mappa nel file .env file nella directory di lavoro. Questa operazione sovrascrive i dati esistenti.
Le variabili d'ambiente sono sempre utili
Le variabili di ambiente semplificano l'impostazione e la modifica dei parametri di esecuzione dell'applicazione senza alterare il codice o le configurazioni, aumentando così la portabilità dell'applicazione.
Puoi avere più variabili di ambiente e dotenv file per scenari diversi per testare il modo in cui l'applicazione viene eseguita in condizioni o parametri variabili.