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

时间:2018-10-23 06:53:48

标签: go goland

当我调用以下代码时,

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

它返回:

  

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

我建议添加调试参数。

package main

import (
    "flag"
    "fmt"
)

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

然后从IDE运行程序时,将其-d传递给它。