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 ?