在 Golang 中,我们可以使用 os
标准库中的 Executable
函数来获取当前正在执行的可执行文件的完整路径,然后使用 filepath
标准库中的 Dir
函数来从完整路径中提取出目录。
下面是一个如何获取当前运行文件所在目录的示例代码:
gopackage main import ( "fmt" "os" "path/filepath" ) func main() { // 获取当前执行的可执行文件的路径 exePath, err := os.Executable() if err != nil { panic(err) } // 获取可执行文件所在的目录 exeDir := filepath.Dir(exePath) fmt.Println("当前运行文件的目录是:", exeDir) }
在这个例子中,我们首先调用了 os.Executable()
函数来获取可执行文件的完整路径。如果调用成功,它会返回路径字符串和 nil
错误。如果有错误发生,我们通过 panic
终止程序。获取到可执行文件的完整路径后,我们使用 filepath.Dir()
函数来从中提取出文件所在的目录。
执行上面的程序,它将打印出当前运行的可执行文件所在的目录。这对于许多需要相对于可执行文件定位资源文件的应用程序非常有用,例如配置文件和模板。