Maison > développement back-end > Golang > Comment puis-je vérifier l'existence d'un fichier dans Go ?

Comment puis-je vérifier l'existence d'un fichier dans Go ?

Barbara Streisand
Libérer: 2024-12-26 21:28:10
original
842 Les gens l'ont consulté

How Can I Check for File Existence in Go?

Vérification de l'existence d'un fichier dans Go

Lorsque vous travaillez avec des fichiers dans Go, il est souvent nécessaire de déterminer si un fichier existe avant de procéder à d'autres opérations. . Contrairement à os.path.exists de Python, la bibliothèque standard Go ne fournit pas de fonction directe à cet effet.

Manière idiomatique de vérifier l'existence d'un fichier

Pour vérifier si un fichier n'existe pas :

if _, err := os.Stat("/path/to/whatever"); errors.Is(err, os.ErrNotExist) {
  // path/to/whatever does not exist
}
Copier après la connexion

Pour vérifier si un fichier existe :

if _, err := os.Stat("/path/to/whatever"); err == nil {
  // path/to/whatever exists

} else if errors.Is(err, os.ErrNotExist) {
  // path/to/whatever does *not* exist

} else {
  // Schrodinger: file may or may not exist. See err for details.

  // Therefore, do *NOT* use !os.IsNotExist(err) to test for file existence
}
Copier après la connexion

Explication

La fonction os.Stat renvoie un objet FileInfo représentant les attributs du fichier ou une erreur si le fichier n'existe pas. En utilisant la fonction error.Is pour comparer l'erreur à os.ErrNotExist, vous pouvez faire la distinction entre le fichier qui n'existe pas et d'autres erreurs.

Attention

Évitez d'utiliser la fonction négation de os.IsNotExist (par exemple, !os.IsNotExist(err)) pour tester l'existence du fichier, car cela peut conduire à un comportement inattendu dans certains cas.

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