我正在尝试解析 CSS 文件,其中可以注入配置文件中定义的变量。目前该功能执行:
根据给定的路径参数打开文件
解析文件的内容
通过注入配置变量来执行模板
将渲染的内容写入控制台而不是原始文件
func parse(path string) {
f, err := ioutil.ReadFile(path)
if err != nil {
log.Print(err)
return
}
// Parse requires a string
t, err := template.New("css").Parse(string(f))
if err != nil {
log.Print(err)
return
}
// A sample config
config := map[string]string {
"textColor": "#abcdef",
"linkColorHover": "#ffaacc",
}
// Execute needs some sort of io.Writer
err = t.Execute(os.Stdout, config)
if err != nil {
log.Print("Can't execute ", path)
}
}
我的问题是template.Parse()需要的内容串和template.Execute()一个io.Writer作为参数。我试图打开os.Open()返回实现io.Writer接口的文件对象的文件。但是我怎样才能从这样的文件对象中以字符串的形式获取文件的内容,以便与 一起使用呢Parse()?
翻过高山走不出你
哔哔one
相关分类