Как получить путь к текущему .go скрипту
6 февраля 2015 Golang 10785 просмотров
В PHP я часто использую встроенные в язык константы __DIR__, __FILE__. Но в Go таких нету, зато есть пакет runtime, который позволяет работать с Go runtime системой, а также для контроля goroutine стэка. Например, функция runtime.Caller() позволяет получить информацию о названии файла, номере строки.

Для этого нужно подключить пакет "runtime". И можно подклюить "path" чтобы получить путь из названия файла.
import (
  "runtime"
  "path"
)
_, filename, _, _ := runtime.Caller(1)
dir := path.Dir(filename)
Не так элегантно как __DIR__, но работает.