白日放歌须纵酒,青春作伴好还乡。这篇文章主要讲述Go 每日一库之 termtables相关的知识,希望能为你提供帮助。
简介
今天学个简单点的????,termtables
处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。是一个很小巧的工具库。我在学习dateparse
库时偶尔见遇到了这个库。
快速使用
【Go 每日一库之 termtables】本文代码使用 Go Modules。
创建目录并初始化:
$ mkdir termtables &
&
cd termtables
$ go mod init github.com/darjun/go-daily-lib/termtables
安装
termtables
库:$ go get -u github.com/scylladb/termtables
最原始的
termtables
库为github.com/apcera/termtables
,然后原始仓库已经被删除了。目前使用的都是其他人 fork 的仓库。使用:
package mainimport (
"fmt"
"github.com/scylladb/termtables"
)func main()
t := termtables.CreateTable()
t.AddHeaders("User", "Age")
t.AddRow("dj", 18)
t.AddRow("darjun", 30)
fmt.Println(t.Render())
运行:
$ go run main.go
+--------+-----+
| User| Age |
+--------+-----+
| dj| 18|
| darjun | 30|
+--------+-----+
使用很方便,首先调用
termtables.CreateTable()
创建一个表格对象,调用该对象的AddHeader()
方法添加头部信息,然后调用AddRow()
逐行添加数据。最后调用Render()
返回渲染后的表格字符串。模式 处理普通的文本表格,
termtables
还支持输出 html 和 Markdown 格式的表格。只需要调用表格对象的SetModeHTML()/SetModeMarkdown()
方法设置一些模式即可 。func main()
t := termtables.CreateTable()
t.AddHeaders("User", "Age")
t.AddRow("dj", 18)
t.AddRow("darjun", 30)
fmt.Println("HTML:")
t.SetModeHTML()
fmt.Println(t.Render())fmt.Println("Markdown:")
t.SetModeMarkdown()
fmt.Println(t.Render())
运行:
$ go run main.go
HTML:
<
table class="termtable">
<
thead>
<
tr>
<
th>
User<
/th>
<
th>
Age<
/th>
<
/tr>
<
/thead>
<
tbody>
<
tr>
<
td>
dj<
/td>
<
td>
18<
/td>
<
/tr>
<
tr>
<
td>
darjun<
/td>
<
td>
30<
/td>
<
/tr>
<
/tbody>
<
/table>
Markdown:
| User| Age |
| ------ | --- |
| dj| 18|
| darjun | 30|
输出的格式可以直接用在 Markdown/HTML 文件中。
总结 今天轻松一下,了解了一个小巧的工具库
termtables
。虽然自己实现一个类似的也不复杂,termtables
库额外帮我们处理了编码、字宽等比较繁琐的细节。有需要在写示例程序中打印类似表格之类的数据不妨试一试termtables
。大家如果发现好玩、好用的 Go 语言库,欢迎到 Go 每日一库 GitHub 上提交 issue????
参考
- Go 每日一库 GitHub:https://github.com/darjun/go-daily-lib
- termtables GitHub:github.com/scylladb/termtables
欢迎关注我的微信公众号【GoUpUp】,共同学习,一起进步~
推荐阅读
- 用 Go 实现一个 GitHub Trending API
- Linux 系统好用的截图软件和微信一样好用
- 你不知道的 Go 之 const
- Go 每日一库之 ants
- 安装数据库Oracle 11g
- win10相机可以使用,但是第三方软件(QQ腾讯会议等)无法显示视频
- 如何在WordPress中创建动态的自定义section()
- 如何使用子主题修改WordPress主题类()
- 如何在WordPress的twig模板中调用自定义字段()