开发者可以自定义模板函数,全局绑定模板函数到指定的视图对象中。
也可以将自定义的对象赋值给模板,随后通过对象来调用其封装的方法。
使用示例:
package main import ( "context" "fmt" "github.com/gogf/gf/frame/g" ) // 用于测试的带参数的内置函数 func funcHello(name string) string { return fmt.Sprintf(`Hello %s`, name) } func main() { // 绑定全局的模板函数 g.View().BindFunc("hello", funcHello) // 普通方式传参 parsed1, err := g.View().ParseContent(context.TODO(), `{{hello "GoFrame"}}`, nil) if err != nil { panic(err) } fmt.Println(string(parsed1)) // 通过管道传参 parsed2, err := g.View().ParseContent(context.TODO(), `{{"GoFrame" | hello}}`, nil) if err != nil { panic(err) } fmt.Println(string(parsed2)) }
执行后,输出结果为:
Hello GoFrame
Hello GoFrame