ich io/ioutil
bin mit einer kleinen Textdatei zu lesen:Wie kann ich Dateien mit relativen Pfaden in Go öffnen?
fileBytes, err := ioutil.ReadFile("/absolute/path/to/file.txt")
Und das funktioniert gut, aber dies ist nicht gerade tragbar. In meinem Fall sind die Dateien, die ich öffnen will in meinem GOPATH, zum Beispiel:
/Users/matt/Dev/go/src/github.com/mholt/mypackage/data/file.txt
Da die data
Ordner direkt neben dem Quellcode reiten, würde ich nur den relativen Pfad angeben, gerne:
data/file.txt
Aber dann bekomme ich diesen Fehler:
panic: open data/file.txt: no such file or directory
Wie kann ich Dateien öffnen ihre relativen Pfad, vor allem, wenn sie neben meinem Go-Code leben?
Die GOPATH hat keine große Bedeutung, wenn Ihr Programm kompiliert wird, und noch weniger, wenn Sie es verteilen. –
Was Sie anscheinend wollen, sieht mehr wie ein Einbetten der Dateien in Ihrem kompilierten Programm aus. –
Art von ... außer ich möchte die Dateien getrennt von der Quelle. Die Datendateien sind für die Funktionalität des Programms entscheidend. Wenn also jemand meinen Quellcode herunterzieht (zusammen mit den Datendateien) und kompiliert und ausführt, werden die Datendateien mit einem relativen Pfad geladen, da sie in der Nähe des Quellcodes oder in der Nähe des Programms vorhanden sind. – Matt