Como obter o caminho do diretório do arquivo executável atual em Go?
Olá, colegas! Sou novo em Go e me deparei com um problema que parece elementar, mas não consigo resolver. Preciso saber em tempo de execução o diretório onde está o arquivo executável atual (um .exe compilado ou binário).
O problema é que estou escrevendo uma utilidade para trabalhar com arquivos de configuração. A estrutura do projeto é: ao lado do binário há uma pasta configs, dentro dela config.yaml. Quero que o programa leia esse arquivo sem usar caminhos fixos, porque o usuário pode copiar o binário para qualquer lugar.
Aqui está meu código atual, que não funciona:
```go
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
// Tentando diferentes opções
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)
}
```
P