Trouver le chemin d'accès à un exécutable dans Go
Dans Go, les développeurs rencontrent souvent le besoin de localiser le chemin de l'exécutable de leurs programmes compilés. Ce chemin peut varier en fonction du système d'exploitation, du répertoire de travail actuel et du fait que l'exécutable se trouve dans la variable PATH du système.
Utilisation de os.Args[0]
Dans un premier temps, les développeurs peuvent tenter d'utiliser os.Args[0] pour récupérer le chemin de l'exécutable. Bien que cette approche puisse fonctionner dans certains scénarios, elle présente des limites. Si le nom de l'exécutable contient des caractères indiquant un chemin relatif ou absolu (par exemple, "../foo"), il renverra uniquement le nom du fichier et non le chemin complet.
Exploiter os.Executable ( Go 1.8)
À partir de Go 1.8, la fonction os.Executable fournit une solution plus robuste pour trouver l'exécutable chemin. Cette fonction renvoie le chemin absolu de l'exécutable actuel, éliminant ainsi le besoin de vérifications supplémentaires.
Exemple de code :
import ( "os" "path" "log" ) func main() { ex, err := os.Executable() if err != nil { log.Fatal(err) } dir := path.Dir(ex) log.Print(dir) }
Lors de son exécution, ce code enregistrera le répertoire contenant l'exécutable, quelle que soit la manière dont il a été invoqué (par exemple, "./foo", "foo").
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!