Heim > Backend-Entwicklung > Golang > Wie kann ich in Go prüfen, ob eine Datei vorhanden ist?

Wie kann ich in Go prüfen, ob eine Datei vorhanden ist?

Barbara Streisand
Freigeben: 2024-12-26 21:28:10
Original
841 Leute haben es durchsucht

How Can I Check for File Existence in Go?

Überprüfen der Dateiexistenz in Go

Beim Arbeiten mit Dateien in Go ist es oft notwendig, festzustellen, ob eine Datei vorhanden ist, bevor mit weiteren Vorgängen fortgefahren wird . Im Gegensatz zu Pythons os.path.exists bietet die Go-Standardbibliothek keine direkte Funktion für diesen Zweck.

Idiomatische Methode zum Überprüfen der Dateiexistenz

Um zu überprüfen, ob Eine Datei existiert nicht:

if _, err := os.Stat("/path/to/whatever"); errors.Is(err, os.ErrNotExist) {
  // path/to/whatever does not exist
}
Nach dem Login kopieren

Um zu überprüfen, ob eine Datei vorhanden ist existiert:

if _, err := os.Stat("/path/to/whatever"); err == nil {
  // path/to/whatever exists

} else if errors.Is(err, os.ErrNotExist) {
  // path/to/whatever does *not* exist

} else {
  // Schrodinger: file may or may not exist. See err for details.

  // Therefore, do *NOT* use !os.IsNotExist(err) to test for file existence
}
Nach dem Login kopieren

Erklärung

Die Funktion os.Stat gibt ein FileInfo-Objekt zurück, das die Attribute der Datei darstellt, oder einen Fehler, wenn die Datei nicht existiert. Indem Sie die Funktion „errors.Is“ verwenden, um den Fehler mit „os.ErrNotExist“ zu vergleichen, können Sie zwischen der nicht vorhandenen Datei und anderen Fehlern unterscheiden.

Achtung

Vermeiden Sie die Verwendung von Negation von os.IsNotExist (z. B. !os.IsNotExist(err)), um die Existenz einer Datei zu testen, da dies zu unerwartetem Verhalten führen kann in einigen Fällen.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go prüfen, ob eine Datei vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage