Функция syscall.Getenv

Функция syscall.Getenv возвращает значение переменной окружения по её имени. Она принимает один параметр — строку с именем переменной окружения, а возвращает строку с её значением. Если переменная не установлена, функция возвращает пустую строку.

Важно отметить, что функция syscall.Getenv является устаревшей и находится в пакете syscall, который помечен как устаревший. В современном Go рекомендуется использовать функцию os.Getenv из пакета os, которая работает аналогичным образом.

Синтаксис

gosyscall.Getenv(name)

Пример

Давайте получим значение переменной окружения 'GOPATH':

gopackage main

import (
  "fmt"
  "syscall"
)

func main() {
  res := syscall.Getenv("GOPATH")
  fmt.Println(res)
}

Результат выполнения кода:

go"/home/user/go"

Пример

Давайте получим значение переменной окружения, которая не установлена в системе:

gopackage main

import (
  "fmt"
  "syscall"
)

func main() {
  res := syscall.Getenv("NOT_EXISTS_VAR")
  fmt.Println(res)
}

Результат выполнения кода:

go""

Пример

Давайте проверим, существует ли переменная окружения, с помощью дополнительной проверки:

gopackage main

import (
  "fmt"
  "syscall"
)

func main() {
  env := "HOME"
  res := syscall.Getenv(env)
  if res != "" {
    fmt.Println(env, "is set to:", res)
  } else {
    fmt.Println(env, "is not set")
  }
}

Результат выполнения кода:

go"HOME is set to: /home/user"

Смотрите также

  • функцию os.Getenv,
    которая является современной заменой и рекомендуется к использованию
  • функцию os.LookupEnv,
    которая позволяет проверить, установлена ли переменная окружения
  • функцию os.Setenv,
    которая устанавливает значение переменной окружения
  • функцию os.Unsetenv,
    которая удаляет переменную окружения