提问人:saados 提问时间:11/16/2023 最后编辑:Jonathan Hallsaados 更新时间:11/16/2023 访问量:61
如何访问模块中的文件
How to access files in a module
问:
我有一个 Go 服务器,它应该使用我放在模块(库)(xml 文件)中的文件。 我怎样才能访问它? 我在模块内有一个文件夹“xml”,我想接收其中的所有文件。 我创建了一个读取文件的函数,但由于模块中的文件我无法访问它。 由于它是从服务器触发的,因此无法识别路径。 我怎样才能克服这样的用例?
我试图将函数签名更改为GetXml(folderPath string)并使用“module-name/xml”调用它,但它不起作用。 我希望成功访问模块中的文件
一个不太好的选择是直接从存储库访问文件,但使用 go(本地和 Docker)。
更新我发现了问题所在。使用嵌入库的文件的名称具有“”而不是“/”,因此读取文件失败 - xml\s.xml 有人知道为什么会这样吗?
答: 暂无答案
上一个:尝试安装语法检查模块时出错
评论
//go:embed xml/* var Content embed.FS
我在依赖模块中创建了这个,我应该如何从服务中的目录中访问文件?此代码似乎不起作用并无法识别文件err := fs.WalkDir(Content, ".", func(path string, d fs.DirEntry, err error) error { if err != nil { panic(err) } if d.IsDir() { return nil } b, err := fs.ReadFile(static, path) if err != nil { return err }
embed