创建模板然后从文件解析时出错

Gus*_*urt 0 go

我不知道是我犯了什么错误还是遇到了golang的错误。以下代码无法正常工作并返回:

  • 错误:模板:名称:“名称”是一个不完整或空的模板;定义的模板是:“test.tmpl”

测试

package main

import (
    "log"
    "os"
    "text/template"
)

func main() {
    t1 := template.New("name")
    t2 := template.Must(t1.ParseFiles("test.tmpl"))
    err := t2.Execute(os.Stdout, nil)
    if err != nil {
        log.Println("error: ", err)
    }
}
Run Code Online (Sandbox Code Playgroud)

测试文件

{{"\"test ok\""}}
Run Code Online (Sandbox Code Playgroud)

Gus*_*urt 6

我发现了问题。根据包文档,模板通常应具有文件名称之一的名称。

更正的代码

package main

import (
    "log"
    "os"
    "text/template"
)

func main() {
    t1 := template.New("test.tmpl")
    t2 := template.Must(t1.ParseFiles("test.tmpl"))
    err := t2.Execute(os.Stdout, nil)
    if err != nil {
        log.Println("error: ", err)
    }
}
Run Code Online (Sandbox Code Playgroud)