我想嵌入一个文件放置在高丽文件代码之上的一个级别。例如:
dir1
dir2
如何使用go:embed将file.txt嵌入到file.go中?
发布于 2021-07-27 07:00:57
发布于 2021-07-27 07:39:35
正如@Brits (https://pkg.go.dev/embed)所述,嵌入包中不支持这一点。
我喜欢使用的一种模式是在我的项目的resources.go包中创建一个internal文件,并将所有嵌入的资源放在其中,例如:
├── cmd\
│ └── cool.go
└── internal\
└── resources\
├── resources.go
├── fonts\
│ └── coolfont.ttf
└── icons\
└── coolicon.icoresources.go
import _ "embed"
//go:embed fonts/coolfont.fs
var fonts byte[] // embed single file
//go:embed icons/*
var icons embed.FS // embed whole directory也有一些库可以帮助这一点,例如这里列出的库https://github.com/avelino/awesome-go#resource-embedding。
但是,我还没有遇到一个用例,在这种情况下,普通的旧嵌入并不足以满足我的需求。
https://stackoverflow.com/questions/68539972
复制相似问题