Ce face os.ExpandEnv
os.ExpandEnv caută în text $NUME sau ${NUME} și le înlocuiește cu valoarea variabilei de mediu, ca un shell. Variabilele care lipsesc devin text gol.
Este echivalent cu os.Expand(s, os.Getenv). Formele de shell precum ${NUME:-implicit} nu sunt înțelese. Acoladele sunt necesare când după nume urmează litere: ${AN}_raport.
Parametri
| Parametru | Descriere |
|---|---|
s |
Textul cu variabile. |
Ce returnează
Textul cu variabilele înlocuite.
Exemple
Exemplul 1: Mesaj cu variabile
package main
import (
"fmt"
"os"
)
func main() {
os.Setenv("NUME", "Ana")
os.Setenv("MESAJE", "3")
fmt.Println(os.ExpandEnv("Salut, $NUME! Ai ${MESAJE} mesaje noi."))
}
Rezultat
Salut, Ana! Ai 3 mesaje noi.
Exemplul 2: Căi în fișiere de configurare
package main
import (
"fmt"
"os"
)
func main() {
os.Setenv("DATE", "/srv/magazin")
os.Setenv("AN", "2025")
config := "fisier_log = ${DATE}/jurnal/${AN}_comenzi.log\nnecunoscut = [$LIPSA]"
fmt.Println(os.ExpandEnv(config))
}
Rezultat
fisier_log = /srv/magazin/jurnal/2025_comenzi.log
necunoscut = []
Greșeli frecvente
- Scrii
$AN_raportși te aștepți la2025_raport. Go caută variabilaAN_raport; scrie${AN}_raport. - Folosești
ExpandEnvpe text venit de la utilizatori. Poate afișa valori secrete din mediu (parole, chei).