Skip to Main Content
Go程序设计语言
book

Go程序设计语言

by 艾伦A. A.多诺万, 布莱恩W. 柯尼汉
August 2021
Beginner to intermediate content levelBeginner to intermediate
450 pages
6h 1m
Chinese
Pearson
Content preview from Go程序设计语言

4.6 文本和HTML模板

上面的例子仅仅给出了最简单的格式化,这种情况下,Printf函数足够用了。但是有的情况下格式化会比这个复杂得多,并且要求格式和代码彻底分离。这个可以通过text/template包和html/template包里面的方法来实现,这两个包提供了一种机制,可以将程序变量的值代入到文本或者HTML模板中。

模板是一个字符串或者文件,它包含一个或者多个两边用双大括号包围的单元——{{...}},这称为操作。大多数的字符串是直接输出的,但是操作可以引发其他的行为。每个操作在模板语言里面都对应一个表达式,提供的简单但强大的功能包括:输出值,选择结构体成员,调用函数和方法,描述控制逻辑(比如if-else语句和range循环),实例化其他的模板等。一个简单的字符串模板如下所示:

模板首先输出符合条件的issue数量,然后分别输出每个issue的序号、用户、标题和距离创建时间已过去的天数。在这个操作里面,有一个表示当前值的标记,用点号(.)表示。点号最开始的时候表示模板里面的参数,在这个例子中即是github.IssuesSearchResult。操作{{.TotalCount}}代表TotalCount成员的值,直接输出。{{range.Items}}和{{end}}操作创建一个循环,所以它们内部的值会展开很多次,这个时候点号(.)表示Items里面连续的元素。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
Go语言编程

Go语言编程

威廉·肯尼迪

Publisher Resources

ISBN: 9787111558422