Текущий каталог
Используйте os.Getwd, чтобы найти путь к текущему каталогу.
path, err := os.Getwd()
if err != nil {
log.Println(err)
}
fmt.Println(path) // например /home/user
Предупреждение: если текущий каталог доступен по нескольким путям (из-за символических ссылок), Getwd может вернуть любой из них.
Текущий исполняемый файл
Используйте os.Executable, чтобы найти путь к исполняемому файлу, который запустил текущий процесс.
path, err := os.Executable()
if err != nil {
log.Println(err)
}
fmt.Println(path)
// например /tmp/go-build872132473/b001/exe/main
Предупреждение: нет никакой гарантии, что путь все еще указывает на правильный исполняемый файл. Если для запуска процесса использовалась символическая ссылка, в зависимости от операционной системы, результатом может быть символическая ссылка или путь, на который она указала. Если требуется стабильный результат, может помочь path/filepath.EvalSymlinks.
Читайте также:
- Массивы, срезы и строки: механика работы append в Golang
- Основы Go: интерфейс Reader
- Читать файл (stdin) построчно в Golang
Комментариев нет:
Отправить комментарий