Comment vérifier si un fichier existe en Go ? (sans course aux données inutile)
Bonjour à tous ! Je viens de commencer à apprendre Go et je suis tombé sur une tâche simple, à première vue : il faut vérifier si un fichier existe sur le disque avant de le lire ou de l'écrire. En Python, j'avais l'habitude de faire ceci :
```go
import os
if os.path.exists("myfile.txt"):
print("Le fichier existe")
```
Mais en Go, je n'ai pas trouvé de fonction aussi simple. Dans la documentation du package `os`, il y a la fonction `Stat()` qui retourne une erreur si le fichier n'existe pas. J'ai écrit ce code :
```go
package main
import (
"fmt"
"os"
)
func main() {
_, err := os.Stat("myfile.txt")
if err != nil {
if os.IsNotExist(err) {
fmt.Println("Le fichier n'existe pas")
} else {
fmt.Println("Une autre erreur est survenue :", err)
}
} else {
fmt.Println("Le fichier existe")
}
}
```
Cela semble fonctionner, mais je suis gêné car dans la documentation de Go, on écrit souvent que vérifier l'existence avant de lire/écrire est un anti-pattern, car entre la vérification et l'opérati
No answers yet.
Connectez-vous pour laisser une réponse