Golang OS Getenv

Golang OS Getenv
En miljøvariabel refererer til en mekanisme for levering av dynamisk konfigurasjonsinformasjon til UNIX -programmer ved kjøretid. Miljøvariabler er veldig nyttige, da de hjelper til med å definere dynamisk konfigurasjon og atferd for applikasjoner basert på miljøet.

I Linux -systemer inkluderer eksempler på miljøvariabler plasseringen av kjørbare programmer i filsystemet, brukerskallet, PWD, Home Directory for en spesifikk bruker, MOTD og mange flere.

Gå, et moderne og enormt programmeringsspråk gir OS -pakken for å samhandle med miljøvariabler.

Vi vil dekke grunnleggende om å jobbe med miljøvariabler i GO -språket gjennom denne opplæringen.

Getenv

Den første metoden vi skal dekke er GetEnv -metoden. Denne metoden lar deg hente verdiene til en miljøvariabel. Funksjonen tar miljøvariabelen navn som parameter og returnerer tilhørende verdi.

Hvis miljøvariabelen som er spesifisert ikke eksisterer på systemet, returnerer funksjonen en tom verdi. Dette kan være litt forvirrende hvis miljøvariabelen eksisterer, men er usett.

Funksjonssyntaksen er som vist:

OS.GetEnv (nøkkel)

Tenk på eksemplet nedenfor:

pakkehoved
import (
"FMT"
"OS"
)
func main ()
fmt.Println ("Hjem:", OS.GetEnv ("Hjem"))

Eksemplet vil hente verdien av hjemmekatalogen for brukeren. Et eksempelutgang er som vist:

$ go run getenv.gå
Hjem: C: \ Brukere \ Csalem // Windows
Hjem: /Hjem /Debian // Debian

Lookupenv

Som nevnt returnerer GetEnv -funksjonen en tom verdi hvis miljøvariabelen ikke eksisterer. Funksjonen vil imidlertid også returnere en tom verdi hvis miljøvariabelen ikke er angitt.

For å løse dette kan vi bruke Lookugenv () -funksjonen. Funksjonen vil hente verdien av miljøvariabelen hvis den eksisterer og returner en boolsk sann. Hvis miljøvariabelen ikke eksisterer, returnerer funksjonen en tom verdi og en boolsk falsk.

Tenk på eksemplet nedenfor:

func lookup (nøkkel streng)
_, funnet: = OS.Lookupenv (nøkkel)
Hvis funnet
fmt.Println ("Environmet Variable Found")
annet
fmt.Println ("EnvironeMnt Variable Not Found")

Eksemplet har en funksjon som tar miljøvariabelen som parameter. Vi bruker deretter verdien av nøkkelen for å sjekke om den eksisterer ved hjelp av en IF -uttalelse.

Hvis vi kjører ovennevnte kode med to parametere som vist:

Oppslag ("Hjem")
oppslag ("Not_there")

Den resulterende utgangen:

$ go run getenv.gå
Miljøvariabel funnet
EnvironEmnt Variabel ikke funnet

Setenv

Hva om vi ønsker å sette en verdi for en spesifikk miljøvariabel? I et slikt scenario kan vi bruke SETENV () -funksjonen. Funksjonen tar nøkkelen (navn på miljøvariabelen) og tilhørende verdi som parametere.

Eksemplet nedenfor angir verdien av brukerskallet:

func set_shell ()
fmt.Println ("før:", OS.GetEnv ("skall"))
OS.Setenv ("shell", "/bin/zsh")
fmt.Println ("etter:", OS.GetEnv ("skall"))

Eksemplet ovenfor angir verdien av skallmiljøvariabelen til “/bin/zsh”. Et eksempelutgang er som:

Før: /bin /bash
Etter: /bin /zsh

Unsetenv

Vi kan også fjerne en miljøvariabel ved hjelp av UNSETENV () -metoden. Et eksempel er som vist:

func unset_env ()
fmt.Println ("Hjem:", OS.GetEnv ("Hjem"))
OS.Unetenv ("Hjem")
fmt.Println ("Hjem:", OS.GetEnv ("Hjem"))

Eksemplet ovenfor vil avsette verdien av hjemmet Env -varierende.

Produksjon:

$ go run getenv.gå
Hjem: C: \ Brukere \ Csalem // Windows
Hjem:

Miljø

Environ () -metoden lar deg liste over alle miljøvariablene i et system. Funksjonen returnerer resultatet i form av nøkkelverdipar.

Et eksempel er vist nedenfor:

func list_env ()
for _, env: = rekkevidde os.Environ ()
Par: = Strenger.Splitn (env, "=", 2)
fmt.Printf (" %s: %s \ n", par [0], par [1])

Eksemplet ovenfor bruker Environ () -metoden for å liste opp alle miljøvariablene i systemet. Vi bruker deretter Splitn-metoden for å dele opp strengene i nøkkelverdipar.

Clearenv ()

Hvis du vil slette alle miljøvariablene i systemet ditt, kan du bruke Clearenv () -metoden.

Forsiktig når du bruker denne metoden, da den vil tilbakestille all env i systemet.

For å bruke den, bør du vurdere utdraget nedenfor:

OS.Clearenv ()

Expandenv

ExpedenV () lar deg erstatte $ var med den faktiske verdien av en miljøvariabel inne i en streng. Dette er en veldig nyttig funksjon når du jobber med env.

For eksempel:

func erstatt_env ()
fmt.Println (OS.Expedenv ("Brukernavn: $ Brukernavn."))

Funksjonen vil utvide miljøvariabelen “brukernavn” og erstatte verdien inne i strengen. Resultatet er som:

Brukernavn: Csalem.

Konklusjon

Denne guiden utforsket grunnlaget for å jobbe med miljøvariabler i Go -programmeringsspråket ved hjelp av OS -pakken.