Wie überprüft man, ob eine Datei in Go existiert? (ohne unnötige Datenrennen)
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf eine scheinbar einfache Aufgabe gestoßen: Ich muss überprüfen, ob eine Datei auf der Festplatte existiert, bevor ich sie lese oder schreibe. In Python habe ich das so gemacht:
```go
import os
if os.path.exists("myfile.txt"):
print("Datei existiert")
```
Aber in Go habe ich keine so einfache Funktion gefunden. In der Dokumentation des `os`-Pakets gibt es die Funktion `Stat()`, die einen Fehler zurückgibt, wenn die Datei nicht existiert. Ich habe diesen Code geschrieben:
```go
package main
import (
"fmt"
"os"
)
func main() {
_, err := os.Stat("myfile.txt")
if err != nil {
if os.IsNotExist(err) {
fmt.Println("Datei existiert nicht")
} else {
fmt.Println("Ein anderer Fehler ist aufgetreten:", err)
}
} else {
fmt.Println("Datei existiert")
}
}
```
Es scheint zu funktionieren, aber mich verwirrt, dass in der Go-Dokumentation oft steht, dass die Überprüfung auf Existenz vor dem Lesen/Schreiben ein Antipattern ist, da zwischen der Überprüfung und der Operat
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen