1、print
print --> fmt.Sprint
printd --> fmt.Sprintf
println --> fmt.Sprintln
{{print "joker"}}
{{printf "name:%s,age:%d" "joker" 18}}
格式化输出:
- %c:字符型,可以把输入的数字安装ASCII码相应转换为对应的字符
- %d:一个十进制数值,基数为10
- %f:以标准计数法表示浮点数或者复数值
- %s:字符串,输出字符串中的字符直至字符串中的空字符,字符串以’\0’结尾,’\0’即为空字符
- %t:以true或false输出的布尔值
- %T:查看类型
- %v:自动匹配输出类型,适用于大多数类型
2、管道符
变量可以使用符号“|”在函数间传递
{{.Name | printf "%s"}}
{{"joker" | printf "%s"}}
3、括号 优先级
{{printf "nums is %s %d" (printf "%d %d" 1 2) 3}}
4、and
只要一个为空,则都为空;如果都不为空,则返回最后一个
{{and .Name .Age}} # 如果Name和Age都不为空,则输出Age
5、or
只要有一个不为空,则返回第一个不为空,否则都为空。
{{or .Name .Age}} # 如果Name为空,Age不为空,则返回Age
6、call
可以调用函数,并传入参数。
{{call .Field .Arg1 .Arg2}}
7、index
读取指标类型对应的下标值。
支持:
- map
- slice
- array
- string
{{index .slice_data 1}}