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 的临时目录中)。
当我调用以下代码时,
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 的临时目录中)。