内容简介: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
里面有很多高级用法,包括自定义函数等。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
《10%创业家》
[美] 帕特里克•J.麦金尼斯 / 李文远 / 广东人民出版社 / 2017-4 / 45.00
还在打工和创业之间苦苦挣扎吗?麦金尼斯用亲身经历告诉你,不用辞职,只需投入10%的时间和资源,就能获得100%的财务自由。你不需要雄厚的资本,也不必占用工作时间,只要准确掌握本书所授的方法,就能立即开始创业。 麦金尼斯是世界银行风投顾问,同时也是一名10%创业家。在本书中,他结合自身的创业咨询经历,为读者讲解了移动互联时代的5种创业模式,还提供了创业基因测试、10%创业计划、自传模板等个性化......一起来看看 《《10%创业家》》 这本书的介绍吧!