如何在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)
}
```
但