Goland在运行调试时无法获取正确的当前路径?

Goland can't get the correct current path when run and debug?

当我调用以下代码时,

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

它returns:

/private/var/folders/cg/mwzlhrjs5y55ny553g6xz9tr0000gn/T

当然,这是一个临时路径,我只是路径是我的当前目录,而不是临时目录。

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

可以帮助我,但我必须判断是否在运行、goland的调试模式

我建议添加调试参数。

package main

import (
    "flag"
    "fmt"
)

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

然后在 运行 来自 IDE 的程序时传递 -d 它。

为了解决这个问题,请转到 Run | Edit Configuration... | <name of your configuration> 并更改 Working Directory 属性 以更改应用程序的工作目录或配置 Output directory为了配置二进制文件的创建位置和 运行 来自(默认情况下,它位于 OS 的临时目录中)。