Функция os.Executable

Функция os.Executable возвращает абсолютный путь к исполняемому файлу текущего процесса. Она возвращает два значения: строку с путем и ошибку. Если путь не может быть определен, возвращается ошибка.

Синтаксис

goos.Executable()

Пример

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

gopackage main

import (
  "fmt"
  "os"
)

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

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

go"Executable path: /usr/local/bin/myapp"

Пример

Давайте обработаем ошибку, если путь не может быть определен:

gopackage main

import (
  "fmt"
  "os"
)

func main() {
  path, err := os.Executable()
  if err != nil {
    fmt.Printf("Failed to get executable path: %v\n", err)
    return
  }
  fmt.Printf("Path: %s\n", path)
}

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

go"Path: /home/user/go/bin/myapp"

Пример

Давайте используем полученный путь для вывода директории, в которой находится исполняемый файл:

gopackage main

import (
  "fmt"
  "os"
  "path/filepath"
)

func main() {
  path, err := os.Executable()
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  dir := filepath.Dir(path)
  fmt.Println("Executable directory:", dir)
}

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

go"Executable directory: /usr/local/bin"

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

  • функцию os.Args,
    которая возвращает аргументы командной строки
  • функцию os.Getenv,
    которая возвращает значение переменной окружения
  • функцию os.Getpid,
    которая возвращает идентификатор текущего процесса
  • функцию os.Hostname,
    которая возвращает имя хоста системы