内容简介:golang text/template的基本用法下面一个例子涉及:其中 "{{- "和" -}}"的连字符含义是是否trim前/后的空格。
golang text/template的基本用法
下面一个例子涉及:
- 取值
-
if 判断
-. 数字值判断
-. 字符串判断
-. 布尔值判断
-. 元素存在性判断 - range循环
package main import ( "os" "log" "text/template" ) const templateText = ` # GENERAL VALUE NAME: {{.Name}} # IF STRING {{if ne .Name "Bob"}}No, I'm Not Bob{{end}} # IF NUMERIC {{- if le .Age 30}} I am a senior one {{else}} I am a little one {{end}} # IF BOOLEAN {{- if .Boy}} It's a Boy {{else}} It's a Girl {{end}} # RANGE {{- range $index, $friend := .Friends}} Friend {{$index}}: {{$friend}} {{- end}} # EXISTENCE {{- with .Gift -}} I have a gift: {{.}} {{else}} I have not a gift. {{end}} ` func main() { type Recipient struct { Name string Age int Boy bool Friends []string Gift string } recipient := Recipient{ Name : "Jack", Age : 30, Friends : []string {"Bob", "Json"}, Boy : true, } t := template.Must(template.New("anyname").Parse(templateText)) err := t.Execute(os.Stdout, recipient) if err != nil { log.Println("Executing template:", err) } }
其中 "{{- "和" -}}"的连字符含义是是否trim前/后的空格。
运行结果:
$ go build main.go && ./main # GENERAL NAME: Jack No, I'm Not Bob # IF1 I am a senior one # IF2 It's a Boy # RANGE Friend 0: Bob Friend 1: Json # GIFT I have not a gift.
详细文档请参阅: https://golang.org/pkg/text/template/#pkg-examples
里面有很多高级用法,包括自定义函数等。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C语言接口与实现
(美)David R. Hanson / 人民邮电出版社 / 2010-8 / 79.00元
可重用的软件模块是构建大规模可靠应用程序的基石,创建可重用的软件模块是每个程序员和项目经理必须掌握的技能。C语言对创建可重用的API提供的语言和功能支持非常少,虽然C程序员写应用时都会用到API和库,但却很少有人去创建和发布新的能广泛应用的API。本书介绍用一种基于接口的设计方法创建可重用的API,这一方法将接口与实现分离开来,且与语言无关。书中详细描述了24个接口及其实现,便于读者深入了解此方法......一起来看看 《C语言接口与实现》 这本书的介绍吧!