Golang OS Getenv

Golang OS Getenv
Uma variável de ambiente refere -se a um mecanismo para provisionar informações de configuração dinâmica para programas UNIX em tempo de execução. As variáveis ​​de ambiente são muito úteis, pois ajudam a definir configuração e comportamentos dinâmicos para aplicações com base no ambiente.

Nos sistemas Linux, exemplos de variáveis ​​de ambiente incluem a localização dos programas executáveis ​​no sistema de arquivos, no shell do usuário, na PWD, no diretório doméstico para um usuário específico, MOTD e muito mais.

GO, uma linguagem de programação moderna e vasta fornece o pacote do sistema operacional para interagir com variáveis ​​de ambiente.

Abordaremos os fundamentos do trabalho com variáveis ​​de ambiente no idioma Go ao longo deste tutorial.

Getenv

O primeiro método que vamos cobrir é o método getenv. Este método permite recuperar os valores de uma variável de ambiente. A função leva o nome da variável de ambiente como parâmetro e retorna seu valor associado.

Se a variável de ambiente especificada não existir no sistema, a função retornará um valor vazio. Isso pode ser um pouco confuso se a variável de ambiente existir, mas não for definida.

A sintaxe da função é como mostrado:

OS.Getenv (chave)

Considere o exemplo abaixo:

Pacote principal
importação (
"FMT"
"OS"
)
func main ()
fmt.Println ("Home:", OS.Getenv ("home"))

O exemplo recuperará o valor do diretório doméstico para o usuário. Um exemplo de saída é como mostrado:

$ go run getenv.ir
Home: C: \ Usuários \ csalem // Windows
Home: /Home /Debian // Debian

Lookupenv

Como mencionado, a função getenv retorna um valor vazio se a variável de ambiente não existir. No entanto, a função também retornará um valor vazio se a variável de ambiente não estiver definida.

Para resolver isso, podemos usar a função lookupeNv (). A função recuperará o valor da variável de ambiente se existir e retornar um verdadeiro booleano. Se a variável de ambiente não existir, a função retornará um valor vazio e um false booleano.

Considere o exemplo abaixo:

Func Lookup (Key String)
_, encontrado: = OS.Lookupenv (chave)
se achado
fmt.Println ("variável ambientmet encontrada")
outro
fmt.Println ("Variável do ambiente não encontrada")

O exemplo mantém uma função que toma a variável de ambiente como o parâmetro. Em seguida, usamos o valor da chave para verificar se ela existe usando uma instrução IF.

Se executarmos o código acima com dois parâmetros como mostrado:

Lookup ("Home")
Lookup ("não_there")

A saída resultante:

$ go run getenv.ir
Variável de ambiente encontrado
Variável do ambiente não encontrado

SETENV

E se quisermos definir um valor para uma variável de ambiente específica? Nesse cenário, podemos usar a função setEnv (). A função leva a chave (nome da variável do ambiente) e seu valor associado como parâmetros.

O exemplo abaixo define o valor do shell do usuário:

func set_shell ()
fmt.Println ("Antes:", OS.Getenv ("shell"))
OS.Setenv ("shell", "/bin/zsh")
fmt.Println ("After:", OS.Getenv ("shell"))

O exemplo acima define o valor da variável de ambiente do shell para "/bin/zsh". Um exemplo de saída é como:

Antes: /bin /bash
Depois: /bin /zsh

UnsEtenv

Também podemos desencadear uma variável de ambiente usando o método unsetEnv (). Um exemplo é como mostrado:

func unset_env ()
fmt.Println ("Home:", OS.Getenv ("home"))
OS.UnsEtenv ("Home")
fmt.Println ("Home:", OS.Getenv ("home"))

O exemplo acima despertará o valor da variável Env Home.

Saída:

$ go run getenv.ir
Home: C: \ Usuários \ csalem // Windows
Lar:

Environ

O método Environ () permite listar todas as variáveis ​​de ambiente em um sistema. A função retorna o resultado na forma de pares de valor-chave.

Um exemplo é mostrado abaixo:

func list_env ()
Para _, Env: = Range OS.Environ ()
par: = strings.Splitn (Env, "=", 2)
fmt.Printf (" %s: %s \ n", par [0], par [1])

O exemplo acima usa o método Environ () para listar todas as variáveis ​​de ambiente no sistema. Em seguida, usamos o método Splitn para dividir as cordas em pares de valores-chave.

Clearenv ()

Se você deseja excluir todas as variáveis ​​de ambiente em seu sistema, você pode usar o método clearenv ().

Cuidado ao usar este método, pois ele redefinirá todo o INV no sistema.

Para usá -lo, considere o trecho abaixo:

OS.Clearenv ()

Expandenv

O Expandenv () permite que você substitua o $ var pelo valor real de uma variável de ambiente dentro de uma string. Esta é uma função muito útil ao trabalhar com Env.

Por exemplo:

func substituir_env ()
fmt.Println (OS.Expandenv ("Nome de usuário: $ nome de usuário."))

A função expandirá a variável de ambiente "nome de usuário" e substituirá seu valor dentro da string. O resultado é como:

Nome de usuário: CSALEM.

Conclusão

Este guia explorou a base de trabalhar com variáveis ​​de ambiente na linguagem de programação GO usando o pacote OS.