获取Golang可执行文件的路径

4年以前  |  阅读数:209 次  |    

~

以下示例,假定可执行文件下除了可执行文件以外,还有一个目录名resource

func currentDirectory() string {
    dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
    if err != nil {
        log.Fatal(err)
    }
    dir = strings.Replace(dir, "\\", "/", -1)
    checkDir := dir + "/resource"

    _, err := os.Stat(filename)
    if !(err == nil || os.IsExist(err)) {
        dir, _ = os.Getwd()
        pos := strings.LastIndex(dir, "src")
        if pos == -1 {
            dir = ""
        } else {
            dir = dir[:pos]
        }
    }
    return dir
}

这个文件

相关文章: