0

我正在使用https://github.com/cbroglie/mustache来渲染胡子文件。我基本上希望这个示例在 go lang 中工作。但我猜自定义函数不存在。

Template:

{{#wrapped}}
  {{name}} is awesome.
{{/wrapped}

}

{
  "name": "Willy",
  "wrapped": function() {
    return function(text, render) {
      return "<b>" + render(text) + "</b>"
    }
  }
}

输出:

威利真棒。

基本上我想使用我的自定义函数在 go 中渲染小胡子。这怎么可能有人告诉我。

4

1 回答 1

1

根据文档,我看不到这样做的直接方法。但这是我可以得到的工作。也许您可以在文档中阅读更多内容并尝试获得更好的解决方案。游乐场链接在这里

    package main

    import (
        "fmt"
        "strings"

        "github.com/cbroglie/mustache"
    )

    type CustomString string

    func (s CustomString) ToLower() string {
        return strings.ToLower(string(s))
    }

    func main() {
        out, err := mustache.Render(`Hey {{#myString}}{{ToLower}}{{/myString}}`, map[string]interface{}{"myString": []CustomString{CustomString("dEF")}})
        if err != nil {
            panic(err)
        }

        fmt.Println(out)
    }
于 2020-06-09T18:02:37.247 回答