Функция os.Unsetenv
Функция os.Unsetenv удаляет переменную окружения.
В единственный параметр она принимает имя переменной в виде строки.
Если переменная не существует, функция не выполняет никаких действий
и не возвращает ошибку. В случае успешного удаления функция возвращает
nil, а если произошла ошибка - возвращает ее описание.
Синтаксис
os.Unsetenv(key)
Пример
Давайте установим переменную окружения, затем удалим ее и проверим результат:
package main
import (
"fmt"
"os"
)
func main() {
os.Setenv("MY_VAR", "test-value")
fmt.Println("Before unset:", os.Getenv("MY_VAR"))
err := os.Unsetenv("MY_VAR")
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("After unset:", os.Getenv("MY_VAR"))
}
Результат выполнения кода:
"Before unset: test-value"
"After unset: "
Пример
Давайте попробуем удалить несуществующую переменную окружения:
package main
import (
"fmt"
"os"
)
func main() {
err := os.Unsetenv("NON_EXISTENT_VAR")
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Variable removed successfully")
}
Результат выполнения кода:
"Variable removed successfully"
Пример
Давайте проверим, что удаление переменной окружения влияет на дочерние процессы:
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
os.Setenv("APP_CONFIG", "production")
fmt.Println("Parent env:", os.Getenv("APP_CONFIG"))
err := os.Unsetenv("APP_CONFIG")
if err != nil {
fmt.Println("Error:", err)
return
}
cmd := exec.Command("env")
output, _ := cmd.Output()
fmt.Println("Child env contains APP_CONFIG:", len(os.Getenv("APP_CONFIG")) > 0)
}
Результат выполнения кода:
"Parent env: production"
"Child env contains APP_CONFIG: false"
Смотрите также
-
функцию
os.Getenv,
которая получает значение переменной окружения -
функцию
os.Setenv,
которая устанавливает значение переменной окружения -
функцию
os.LookupEnv,
которая проверяет существование переменной окружения -
функцию
os.Clearenv,
которая удаляет все переменные окружения