Функция os.UserHomeDir

Функция os.UserHomeDir возвращает путь к домашней директории текущего пользователя в виде строки. Она не принимает никаких параметров. В случае успеха возвращается путь и nil в качестве ошибки. Если домашнюю директорию определить не удается, возвращается пустая строка и соответствующая ошибка.

Домашняя директория определяется с учетом операционной системы. В Unix-подобных системах используется переменная окружения HOME, в Windows - комбинация USERPROFILE и HOMEDRIVE + HOMEPATH.

Синтаксис

goos.UserHomeDir()

Пример

Давайте получим путь к домашней директории текущего пользователя и выведем его:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  homeDir, err := os.UserHomeDir()
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(homeDir)
}

Результат выполнения кода (пример для Unix-системы):

go"/home/user"

Пример

Обработаем ошибку, которая может возникнуть, если домашняя директория не определена (например, в некоторых контейнерах):

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  homeDir, err := os.UserHomeDir()
  if err != nil {
    fmt.Printf("Не удалось получить домашнюю директорию: %v\n", err)
    return
  }
  fmt.Printf("Домашняя директория: %s\n", homeDir)
}

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

go"Не удалось получить домашнюю директорию: user: home directory not defined"

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

  • функцию os.UserCacheDir,
    которая возвращает директорию для кэша пользователя
  • функцию os.UserConfigDir,
    которая возвращает директорию для конфигурации пользователя
  • функцию os.TempDir,
    которая возвращает директорию для временных файлов
  • функцию os.Getenv,
    которая получает значение переменной окружения