Avatar ·

Comment obtenir le répertoire de l'exécutable actuel en Go ?

Bonjour à tous ! Je suis un développeur Go débutant et j'ai rencontré un problème : je dois déterminer le répertoire dans lequel se trouve l'exécutable actuel de mon programme. J'écris une petite application CLI qui lit un fichier de configuration situé dans le même dossier que le binaire. Mais lorsque j'exécute le programme depuis un autre répertoire (par exemple, via `go run` depuis la racine du projet ou depuis le PATH système), les chemins relatifs se cassent. Voici ce que j'ai essayé : ```go package main import ( "fmt" "os" "path/filepath" ) func main() { // Tentative 1 : simplement os.Getwd() — donne le répertoire de travail, pas le dossier du fichier wd, _ := os.Getwd() fmt.Println("Working dir:", wd) // Tentative 2 : os.Args[0] — montre le chemin avec lequel le programme a été appelé fmt.Println("Args[0]:", os.Args[0]) // Tentative 3 : filepath.Abs(os.Args[0]) — toujours un problème avec les liens symboliques abs, _ := filepath.Abs(os.Args[0]) fmt.Println("Abs:", abs) } ``` Le problème est que `os.Args[0]` peut être simplement