Функция os.Executable
Функция os.Executable возвращает абсолютный путь к исполняемому файлу текущего процесса. Она возвращает два значения: строку с путем и ошибку. Если путь не может быть определен, возвращается ошибка.
Синтаксис
os.Executable()
Пример
Давайте получим путь к исполняемому файлу текущей программы:
package main
import (
"fmt"
"os"
)
func main() {
path, err := os.Executable()
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Executable path:", path)
}
Результат выполнения кода:
"Executable path: /usr/local/bin/myapp"
Пример
Давайте обработаем ошибку, если путь не может быть определен:
package 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)
}
Результат выполнения кода:
"Path: /home/user/go/bin/myapp"
Пример
Давайте используем полученный путь для вывода директории, в которой находится исполняемый файл:
package 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)
}
Результат выполнения кода:
"Executable directory: /usr/local/bin"
Смотрите также
-
функцию
os.Args,
которая возвращает аргументы командной строки -
функцию
os.Getenv,
которая возвращает значение переменной окружения -
функцию
os.Getpid,
которая возвращает идентификатор текущего процесса -
функцию
os.Hostname,
которая возвращает имя хоста системы