1、print

  1. print --> fmt.Sprint
  2. printd --> fmt.Sprintf
  3. println --> fmt.Sprintln
  4. {{print "joker"}}
  5. {{printf "name:%s,age:%d" "joker" 18}}

格式化输出:

  • %c:字符型,可以把输入的数字安装ASCII码相应转换为对应的字符
  • %d:一个十进制数值,基数为10
  • %f:以标准计数法表示浮点数或者复数值
  • %s:字符串,输出字符串中的字符直至字符串中的空字符,字符串以’\0’结尾,’\0’即为空字符
  • %t:以true或false输出的布尔值
  • %T:查看类型
  • %v:自动匹配输出类型,适用于大多数类型

2、管道符

变量可以使用符号“|”在函数间传递

  1. {{.Name | printf "%s"}}
  2. {{"joker" | printf "%s"}}

3、括号 优先级

  1. {{printf "nums is %s %d" (printf "%d %d" 1 2) 3}}

4、and

只要一个为空,则都为空;如果都不为空,则返回最后一个

  1. {{and .Name .Age}} # 如果Name和Age都不为空,则输出Age

5、or

只要有一个不为空,则返回第一个不为空,否则都为空。

  1. {{or .Name .Age}} # 如果Name为空,Age不为空,则返回Age

6、call

可以调用函数,并传入参数。

  1. {{call .Field .Arg1 .Arg2}}

7、index

读取指标类型对应的下标值。
支持:

  • map
  • slice
  • array
  • string
    1. {{index .slice_data 1}}