Maison > développement back-end > Golang > le corps du texte

Comment accéder aux fichiers dans le même répertoire que votre fichier source Go ?

Patricia Arquette
Libérer: 2024-10-26 08:56:02
original
122 Les gens l'ont consulté

How Do You Access Files in the Same Directory as Your Go Source File?

Accès aux fichiers dans le répertoire de fichiers source dans Go

Lors de l'écriture de programmes Go, l'accès aux fichiers situés dans le même répertoire que le fichier source peut être un défi. Contrairement aux langages interprétés, où le fichier source coexiste avec le binaire en cours d'exécution, les programmes Go compilés ne nécessitent pas que le fichier source soit présent lors de l'exécution.

Recherche du chemin de fichier par défaut

Par défaut, des fonctions comme os.Open() recherchent des fichiers dans le répertoire de travail actuel (PWD) défini par la variable d'environnement suivante :

$PWD: /dir
Copier après la connexion

Si vous essayez d'ouvrir un fichier nommé "myfile. txt" en utilisant :

<code class="go">os.Open("myfile.txt")</code>
Copier après la connexion

Go recherchera "myfile.txt" dans le répertoire de travail actuel "/dir".

Absence de relocalisation de répertoire intégrée

Go n'offre pas de mécanisme intégré pour localiser automatiquement les fichiers dans le même répertoire que le fichier source. L'équivalent du FILE de Ruby n'existe pas dans Go.

Cependant, la fonction runtime.Caller permet d'accéder au nom du fichier au moment de la compilation :

<code class="go">filepath := runtime.Caller(0)</code>
Copier après la connexion

Approches alternatives

Au lieu de vous fier à la découverte automatique du chemin du fichier, envisagez des approches alternatives :

  • Transmettez explicitement le chemin du fichier : Spécifiez le chemin absolu chemin d'accès au fichier ou transmettez-le comme argument.
  • Utilisez une fonction personnalisée : Créez une fonction personnalisée qui prend le chemin du fichier source et construit le chemin du fichier correspondant dans le répertoire souhaité.
  • Redéfinissez la constante « __FILE__ » : Bien que Go ne définisse pas nativement « __FILE__ », vous pouvez définir une constante pour pointer vers l'emplacement du fichier source :
<code class="go">import "path/filepath"

const __FILE__ = filepath.Join(filepath.Dir(runtime.Caller(0)), "src.go")</code>
Copier après la connexion

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!