Maison >développement back-end >Golang >Comment puis-je vérifier l'existence d'un fichier dans 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 }
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 }
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!