执行模板到文件

时间:2015-06-05 09:20:36

标签: go

我有一个模板文件template.html,如下所示

Hello {{.Name}}, welcome!

和代码

import (
    "fmt"
    "text/template"
)
func main() {
  type person struct {
    Name string
  }

  p := &person{"clinyong"}
  t := template.Must(template.New("template.html").ParseFiles("template.html"))
  f, err := os.OpenFile("test", os.O_CREATE, 0777)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer f.Close()

  err := t.Execute(f, p)
  if err != nil {
      fmt.Println(err)
  }
}

t.Execute(f, p)调用错误,说f是一个错误的文件描述符。

是否可以执行模板输出到文件,如上所示?我看到一些例子,f中的Execute几乎是http.ResponseWriter或os.Stdout。

1 个答案:

答案 0 :(得分:3)

正如@TimCooper所说,我需要在os.O_WRONLY中加入os.OpenFile