Maison > développement back-end > Golang > Comment puis-je trouver de manière fiable le chemin de l'exécutable dans Go ?

Comment puis-je trouver de manière fiable le chemin de l'exécutable dans Go ?

Mary-Kate Olsen
Libérer: 2024-12-23 18:04:11
original
914 Les gens l'ont consulté

How Can I Reliably Find the Executable Path in Go?

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)
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal