Голанд не может получить правильный текущий путь при запуске и отладке? - PullRequest
0 голосов
/ 23 октября 2018

Когда я вызываю следующий код,

 func GetCurrentDirectory() string {
    dir, err := filepath.Abs(filepath.Dir(os.Args[0])) 

возвращает:

/ private / var / folder / cg / mwzlhrjs5y55ny553g6xz9tr0000gn / T

Абсолютно, это временный путь, я исключил, что путь - это мой текущий каталог, а не временный каталог.

dir, err := filepath.Abs("")

может помочь мне, но я должен судить, находится ли в режиме отладки run в Голанде или нет

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Чтобы исправить это, перейдите на Run | Edit Configuration... | <name of your configuration> и измените свойство Working Directory, чтобы изменить рабочий каталог приложения или настроить Output directory, чтобы указать, откуда создается и запускается двоичный файл (по умолчанию он находится во временном каталоге вашей ОС).

0 голосов
/ 23 октября 2018

Я рекомендую добавить параметр отладки.

package main

import (
    "flag"
    "fmt"
)

func main() {
    var debug bool
    flag.BoolVar(&debug, "d", false, "debug")
    flag.Parse()
    fmt.Println(debug)
}

Затем передайте -d при запуске программы из IDE.

...