我的golang 码 arch 是这样的:
├── embeded.go
├── go.mod
├── json
│ └── file
└── main.go
这是我的Embede.Go代码:
package main
import "embed"
//go:embed json/*
var templatesFS embed.FS
func TemplatesFS() embed.FS {
return templatesFS
}
现在在我的Main.go中,我无法访问json目录中的文件:
package main
import (
"fmt"
"log"
"os"
"text/template"
)
func main() {
tmpl := template.Must(
template.New("json/file").
ParseFS(TemplatesFS(), "json/file"))
if err := tmpl.Execute(os.Stdout, "config"); err != nil {
log.Fatal(err)
}
}
当我在代码之上运行时,我得到错误template: json/file: "json/file" is an incomplete or empty template
但我可以像这样访问file
:
file, err := TemplatesFS().ReadFile("json/file")
那么为什么我不能在templte.ecute中访问它呢?
我怎么才能解决它呢?