如何在 go text/template 使用中使用 .Key

我不明白http://golang.org/pkg/text/template/ 中的文档段落


- The name of a key of the data, which must be a map, preceded

  by a period, such as

    .Key

  The result is the map element value indexed by the key.

  Key invocations may be chained and combined with fields to any

  depth:

    .Field1.Key1.Field2.Key2

  Although the key must be an alphanumeric identifier, unlike with

  field names they do not need to start with an upper case letter.

  Keys can also be evaluated on variables, including chaining:

    $x.key1.key2

这是我的测试代码,但失败了。代码:http : //play.golang.org/p/lbLJ4yoL2T。


var season = map[int]string{1: "spring", 2: "summer",              

        3: "autumn", 4: "winter"}                                  


func main() {                                                      

        const greeting = `Welcome, {{.Key}}`                       

        t := template.Must(template.New("greet").Parse(greeting))  

        err := t.Execute(os.Stdout, season)                        

        if err != nil {                                            

                fmt.Println(err)                                   

        }                                                          

}                                                                  

输出


Welcome, template: greet:1:11: executing "greet" at <.Key>: can't evaluate field Key in type map[int]string


慕森王
浏览 252回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go