github.com/gogf/gf@v1.16.9/.example/os/gview/bind_func/gview_func2.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/gogf/gf/frame/g"
     7  )
     8  
     9  // 用于测试的带参数的内置函数
    10  func funcHello(name string) string {
    11  	return fmt.Sprintf(`Hello %s`, name)
    12  }
    13  
    14  func main() {
    15  	// 绑定全局的模板函数
    16  	g.View().BindFunc("hello", funcHello)
    17  
    18  	// 普通方式传参
    19  	parsed1, err := g.View().ParseContent(`{{hello "GoFrame"}}`, nil)
    20  	if err != nil {
    21  		panic(err)
    22  	}
    23  	fmt.Println(string(parsed1))
    24  
    25  	// 通过管道传参
    26  	parsed2, err := g.View().ParseContent(`{{"GoFrame" | hello}}`, nil)
    27  	if err != nil {
    28  		panic(err)
    29  	}
    30  	fmt.Println(string(parsed2))
    31  }