本教材由知了传课辛苦制作而成,仅供学习使用,请勿用于商业用途!如进行转载请务必注明出处!谢谢!

模板语法一

源代码路径:chapter03\test_syntax_tpl.go

模板路径:template\chapter03\test.html

一、统一使用了 { { 和 } } 作为左右标签,

二、上下文

  • . 访问当前位置的上下文
  • $ 引用当前模板根级的上下文
  • $. 引用模板中的根级上下文

三、支持go语言的符号,这里只是符号的支持

1.字符串:{ { “zhiliao ” } }

2.原始字符串:{ { `zhiliao` } } 不会转义

3.字节类型:{ { ’ a’ } } -->97 ascll码对应表: http://ascii.911cha.com/

4.nil类型:{ { print nil } } { {nil } }只有nil会报错:nil is not a command

四、定义变量

1.定义:

{{$username := "xxxx"}}

2.使用:

{{$username }}

注意:只能在当前模板中使用

五、pipline

1.可以是上下文的变量输出,也可以是函数通过管道传递的返回值

e.g.

  • { {.Name} } 是上下文的变量输出,是个pipline
  • { { “hallen” | len } } 是函数通过管道传递的返回值,是个pipline

六、if

1.if…else

{{if .name}} 有姓名 {{else}} 没有姓名 {{end}}

2.if嵌套

成年人而且带了身份证的准进:
{{if .A}}
{{if .C }}
可以进
{{else}}
不能进
{{end}}
{{else}}
未成年不能进
{{end}}

七、range

第一种: {{range $v := .arr_struct}} {{$v.Name}} {{$v.Age}} {{$v.Gender}} {{end}} 下面的也可以 {{range $v := .arr}} {{/*{{$v}}*/}} {{.}} {{end}} 第二种: {{ range .arr_struct }} {{.Name }} {{.Age}} {{ $.total}} // 使用 $. 引用模板中的根级上下文 {{end}}

range也支持else,当长度为0时,执行else

{{range .total}} {{.}} {{else}} {{ 0 }} {{/* 当 .total 为空 或者 长度为 0 时会执行这里 */}} {{end}}

1459人已阅读,今天你学习了吗?

添加新回复
目录