Avatar ·

如何在Go中获取当前可执行文件的目录路径?

大家好!我是Go新手,遇到了一个看似简单但一直解决不了的问题。我需要在运行时获取当前可执行文件(编译后的.exe或二进制文件)所在的目录。 问题在于,我正在编写一个处理配置文件的工具。项目结构是这样的:二进制文件旁边有一个configs文件夹,里面是config.yaml。我希望程序读取这个文件,而不使用硬编码路径,因为用户可能将二进制文件复制到任何位置。 以下是我当前无法正常工作的代码: ```go package main import ( "fmt" "os" "path/filepath" ) func main() { // 尝试不同方法 exe, _ := os.Executable() fmt.Println("Executable path:", exe) dir := filepath.Dir(exe) fmt.Println("Directory:", dir) configPath := filepath.Join(dir, "configs", "config.yaml") fmt.Println("Config path:", configPath) } ``` 但