Avatar ·

Comment vérifier si un fichier ou un répertoire existe en Go ?

Bonjour à tous ! Je viens de commencer à apprendre Go et je suis tombé sur une tâche apparemment simple : je dois écrire une fonction qui vérifie si un fichier ou un dossier existe à un chemin donné. J'ai l'habitude de Python, où il y a `os.path.exists()`, mais en Go je ne trouve pas de méthode aussi simple. J'ai essayé d'utiliser `os.Stat()`, mais je ne comprends pas bien comment gérer les erreurs correctement. Par exemple, j'ai écrit ce code : ```go package main import ( "fmt" "os" ) func main() { path := "./test.txt" _, err := os.Stat(path) if err == nil { fmt.Println("Le fichier existe") } else if os.IsNotExist(err) { fmt.Println("Le fichier n'existe pas") } else { fmt.Println("Une erreur est survenue :", err) } } ``` Mais ce qui me gêne, c'est que `os.Stat()` retourne une erreur non seulement quand le fichier n'existe pas, mais aussi pour d'autres problèmes (par exemple, permissions insuffisantes). Est-ce que je fais bien ? Y a-t-il une manière plus idiomatique en Go ? Et comment distinguer un fichier d'un répertoire après la vérification ?