Configure seu aplicativo para diferentes ambientes usando as variáveis de ambiente. Ele também adiciona uma camada extra de segurança ao aplicativo.
As variáveis de ambiente são pares de valores-chave nomeados dinamicamente, separados no ambiente do host, usados para afetar as operações de execução dos programas.
As variáveis de ambiente são populares para interagir com dados sensíveis ao aplicativo, pois fornecem uma abstração sobre a interface do ambiente. Você pode usar variáveis de ambiente para aumentar a segurança de seus aplicativos.
Go fornece suporte integrado para trabalhar com variáveis de ambiente, e há muitos pacotes para trabalhar com variáveis de ambiente e arquivos de variáveis de ambiente (.env) no ecossistema Go.
Variáveis de ambiente e o pacote os
O os O pacote fornece funcionalidade para interagir com o sistema operacional do ambiente host. O os O pacote fornece métodos para definir e recuperar pares chave-valor de variáveis de ambiente.
Importe esses pacotes para configurar, carregar e imprimir as variáveis de ambiente em sua máquina host.
importar (
"fmt"
"registro"
"os"
"cordas"
)
Você pode definir pares chave-valor de variável de ambiente com o Setenv método do os pacote. O Setenv O método recebe o par e retorna possíveis erros.
err := os. Setenv("NOME", "John")
erro = os. Setenv("OUTRO", "CORÇA")
se erro != nada {
retornar
}
Você pode buscar variáveis de ambiente pelas chaves (nomes) com o Getenv método. O Getenv O método recebe o nome da variável de ambiente e retorna o valor associado à chave.
nome := os. Getenv("NOME")
outro := os. Getenv("OUTRO")
O ambiente O método permite que você acesse todas as variáveis de ambiente em sua máquina host. O ambiente O método retorna uma fatia de strings pelas quais você pode percorrer e acessar as chaves das variáveis de ambiente.
para _, variáveis := faixa os. Ambiente() {
envPair := strings. SplitN(variáveis, "=", 2)
fmt. Println (envPair[0])
}
O DivisãoN O método do pacote strings ajuda na divisão por um delimitador. Nesse caso, divide o nome da variável do valor.
Como carregar variáveis de ambiente de arquivos .env
O godotenv package é uma porta Go do projeto Ruby dotenv para carregar variáveis de ambiente do arquivo dotenv.
O godotenv pacote fornece funcionalidades para trabalhando com arquivos dotenv sobre o os pacote, você pode escrever e ler de .env arquivos.
Execute este comando para criar um .env arquivo em seu diretório de trabalho.
toque em .env
O comando touch é usado para criar novos arquivos. Adicione as seguintes linhas de código ao arquivo dotenv. Você usará o godotenv pacote para ler essas variáveis de ambiente em seu programa Go.
# ambiente
NOME="John"
OUTRO="James"
Execute este comando no terminal do diretório do seu projeto para instalar o godotenv pacote como uma dependência do projeto.
ir obter github.com/joho/godotenv
Importe esses pacotes para seu arquivo Go. Você os usará junto com o godotenv pacote para carregar variáveis de ambiente e imprimi-las no console ou registrar erros.
importar (
"fmt"
"github.com/joho/godotenv"
"registro"
"os"
)
Você pode carregar um .env arquivo com o Carregar método do godotenv pacote. O Carregar O método recebe o nome do arquivo e retorna possíveis erros.
err := godotenv. Carregar(".env")
se erro != nada {
registro. Fatalf("Erro ao carregar o arquivo de variáveis de ambiente")
}
Depois de carregar o arquivo dotenv, você pode usar o Getenv método do os pacote para carregar as variáveis de ambiente.
nome := os. Getenv("NOME")
outro := os. Getenv("OUTRO")
fmt. Println (nome)
fmt. Imprimir (outros)
Você pode gravar em arquivos dotenv com o Escrever método do godotenv pacote. O Escrever O método recebe um mapa de strings para strings e retorna possíveis erros.
funçãowriteToDotEnv(){
env, _ := godotenv. Unmarshal("KEY=valor")
err := godotenv. Escreva (env, ".env")
se erro != nada {
registro. Imprimirln("Ocorreu um erro ao gravar no arquivo dotenv")
}
}
O godotenv o pacote descompacta a string do par chave-valor com o Unmarshal método, e o ambiente variável torna-se um mapa de string para tipo de string.
O writeToDotEnv A função grava o conteúdo do mapa no .env arquivo no diretório de trabalho. Esta operação substitui os dados existentes.
Variáveis de ambiente sempre vêm a calhar
As variáveis de ambiente facilitam a configuração e alteração dos parâmetros de execução do aplicativo sem alterar o código ou as configurações, aumentando assim a portabilidade do seu aplicativo.
Você pode ter várias variáveis de ambiente e dotenv arquivos para cenários variados para testar como seu aplicativo é executado em parâmetros ou condições variáveis.