- go run 和 go build 的编译文件执行路径并不同
go run
执行时会将文件放到/tmp/go-build...
目录下,编译并运行 - 获取编译后的可执行文件路径(go build)
import (
"path/filepath"
"os"
"os/exec"
"string"
)
func GetAppPath() string {
file, _ := exec.LookPath(os.Args[0])
path, _ := filepath.Abs(file)
index := strings.LastIndex(path, string(os.PathSeparator))
return path[:index]
}
- go run路径
package main
import (
"flag"
"fmt"
)
func main() {
var appPath string
flag.StringVar(&appPath, "app-path", "app-path", "")
flag.Parse()
fmt.Printf("App path: %s", appPath)
}
执行命令即可
go run main.go --app-path "Your project address"