Ich möchte die Existenz einer Datei ./conf/app.ini
in meinem Go-Code überprüfen , finde aber keinen guten Weg, dies zu tun.
Ich weiß, dass es in Java eine Dateimethode gibt:, public boolean exists()
die true zurückgibt, wenn die Datei oder das Verzeichnis vorhanden ist.
Aber wie geht das in Go?
f, err := os.Open(name)
oderf, err := os.OpenFile(name,os.O_CREATE|os.O_EXCL, mode)
und dann überprüfenos.IsNotExist(err)
).Antworten:
Bearbeitet, um Fehlerbehandlung hinzuzufügen.
quelle
panic
für ein tatsächliches "Ausnahme" -ähnliches Objekt. Sie können mit einem Anruf an "fangen"recover
. Die explizite Rückgabe eineserr
Wertes als zweiten Rückgabewert ist eine äußerst verbreitete, idiomatische Go-Technik. Siehe: golang.org/doc/effective_go.html#errorsif _, err := os.Stat("./conf/app.ini"); err == nil { /*exists*/ } else { /*not exists or some other error*/ }
Sie können dies verwenden:
Siehe: http://golang.org/pkg/os/#IsNotExist
quelle
Eher zu Ihrer Information, da ich mich ein paar Minuten umgesehen habe und dachte, meine Frage sei eine schnelle Suche entfernt.
Dies war die beliebteste Antwort in meinen Suchergebnissen, aber hier und anderswo bieten die Lösungen nur eine Existenzprüfung. Um zu überprüfen, ob es sich
path
um ein vorhandenes Verzeichnis handelt, stellte ich fest, dass ich leicht:Ein Teil meines Problems war, dass ich erwartet hatte
path/filepath
, dass das Paket die Funktion isDir () enthält.quelle
Einfache Möglichkeit zu überprüfen, ob eine Datei vorhanden ist oder nicht:
Quellen:
quelle
Es gibt eine einfache Möglichkeit, um zu überprüfen, ob Ihre Datei vorhanden ist oder nicht:
quelle