GoFrame 模板引擎支持使用模板函数,模板函数可以在模板中执行一些逻辑或对数据进行处理。你可以在创建 gview.View 对象时使用 SetFuncMap 方法设置模板函数,然后在模板中使用这些函数。

以下是一些常用的模板函数和示例:

1. 日期时间格式化函数:

使用 date 函数格式化日期时间。
<p>Create Time: {{ date .CreateTime "2006-01-02 15:04:05" }}</p>

2. 字符串格式化函数:

使用 printf 函数进行字符串格式化。
<p>Formatted String: {{ printf "Name: %s, Age: %d" .Name .Age }}</p>

3. 计算函数:

使用 add、sub、mul、div 函数进行基本的加减乘除计算。
<p>Sum: {{ add .Num1 .Num2 }}</p>
<p>Subtraction: {{ sub .Num1 .Num2 }}</p>
<p>Multiplication: {{ mul .Num1 .Num2 }}</p>
<p>Division: {{ div .Num1 .Num2 }}</p>

4. 字符串处理函数:

使用 len 函数获取字符串长度,使用 substr 函数截取字符串。
<p>String Length: {{ len .Str }}</p>
<p>Substring: {{ substr .Str 0 5 }}</p>

5. 自定义函数:

你也可以定义自己的模板函数,然后在模板中使用。
// 自定义函数
func customFunc() string {
    return "Custom Function"
}

// 在创建 View 对象时设置自定义函数
g.View().SetFuncMap(template.FuncMap{
    "customFunc": customFunc,
})
<p>{{ customFunc }}</p>

这里的 customFunc 是一个自定义的函数,可以在模板中使用。

示例:

以下是一个包含上述模板函数的示例:
<html>
<head>
    <title>{{ .Title }}</title>
</head>
<body>
    <h1>Hello, {{ .User.Name }}!</h1>

    <p>Create Time: {{ date .User.CreateTime "2006-01-02 15:04:05" }}</p>

    <p>Formatted String: {{ printf "Name: %s, Age: %d" .User.Name .User.Age }}</p>

    <p>Sum: {{ add .Num1 .Num2 }}</p>
    <p>Subtraction: {{ sub .Num1 .Num2 }}</p>
    <p>Multiplication: {{ mul .Num1 .Num2 }}</p>
    <p>Division: {{ div .Num1 .Num2 }}</p>

    <p>String Length: {{ len .User.Name }}</p>
    <p>Substring: {{ substr .User.Name 0 5 }}</p>

    <p>{{ customFunc }}</p>
</body>
</html>

这是一个包含了常见模板函数的简单示例,实际使用时可以根据项目需求定义和使用更多的模板函数。在编写模板函数时,请注意遵循 Go 的模板语法规则。


转载请注明出处:http://www.zyzy.cn/article/detail/7612/GoFrame