Go语言使用 os.Executable 获取该启动当前进程的可执行文件的路径名。
使用filepath.Dir函数提前path/filepath格式的路径的目录。
path, err := os.Executable()
if err != nil {
log.Printf(err)
}
dir := filepath.Dir(path)
fmt.Println(path) // for example /home/user/main
fmt.Println(dir) // for example /home/user警告:无法保证路径仍指向正确的可执行文件。如果使用符号链接启动进程,则根据操作系统,结果可能是符号链接或它指向的路径。如果需要稳定的结果, path/filepath.EvalSymlinks 可能会有所帮助。
评论列表(0条)