Avatar ·

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