У меня есть golang код на Linux VM, который я удаленно отлаживаю с помощью VS Code. Ниже приведена структура моей папки
MainFolder
|__Config
|__Other folders
Other Files
Когда я запускаю код с помощью отладчика VS, он работает правильно, и мой код может найти путь к файлам. Но когда я использую терминал для кода (у меня настроено рабочее пространство и мне нужен другой проект для запуска и один проект для отладки) с использованием go run ./folder
, при заполнении абсолютного пути он дает некоторый путь, например /tmp/go-build2342342342/b001/
. Любая идея, почему это работает таким образом и как сделать поведение согласованным для правильного получения пути?
Ниже приведен код, преобразовывающий относительный путь в абсолютный
dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
if err != nil {
log.Fatal(err)
}
var path = filepath.Join(dir, relPath)
absPath, err := filepath.Abs(path)