我使用io/ioutil
閱讀的小文本文件:如何在Go中使用相對路徑打開文件?
fileBytes, err := ioutil.ReadFile("/absolute/path/to/file.txt")
這工作得很好,但是這不完全便攜。在我的情況,我想打開這些文件都在我的GOPATH,例如:
/Users/matt/Dev/go/src/github.com/mholt/mypackage/data/file.txt
由於data
文件夾騎右側旁邊的源代碼,我喜歡只指定相對路徑:
data/file.txt
但後來我得到這個錯誤:
panic: open data/file.txt: no such file or directory
我怎樣才能打開使用他們的相對路徑的文件,特別是如果他們一起生活我的Go代碼?
的GOPATH還沒有大的意思,一旦你的程序被編譯,即使你分發少。 –
你似乎想要的東西看起來更像是在編譯的程序中嵌入文件。 –
...的種類,但我希望數據文件與源分離。數據文件對程序的功能至關重要。因此,當有人拉下我的源代碼(數據文件沿着它)並編譯並運行它時,數據文件將使用相對路徑加載,因爲它們存在於源代碼附近,或者靠近程序執行的地方。 – Matt