Go 如何获取当前执行文件所在的目录?
方法一
Go 1.8 (发布于 2017 年 2 月)推荐的做法是利用 os.Executable
获取到可执行文件信息,然后使用 path/filepath.Dir
获取到目录:
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
ex, err := os.Executable()
if err != nil {
panic(err)
}
exPath := filepath.Dir(ex)
fmt.Println(exPath)
}
方法二
老版本可以使用 osext 来获取跨平台支持:
package main
import (
"github.com/kardianos/osext"
"fmt"
"log"
)
func main() {
folderPath, err := osext.ExecutableFolder()
if err != nil {
log.Fatal(err)
}
fmt.Println(folderPath)
}
推荐文章: