Go|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.goHTML:Markdown:| User| Age || ------ | --- || dj| 18|| darjun | 30|
User Age dj 18 darjun 30
输出的格式可以直接用在 Markdown/HTML 文件中。
总结
今天轻松一下,了解了一个小巧的工具库termtables。虽然自己实现一个类似的也不复杂,termtables库额外帮我们处理了编码、字宽等比较繁琐的细节。有需要在写示例程序中打印类似表格之类的数据不妨试一试termtables。
大家如果发现好玩、好用的 Go 语言库,欢迎到 Go 每日一库 GitHub 上提交 issue
参考
Go 每日一库 GitHub:https://github.com/darjun/go-daily-lib
【Go|Go 每日一库之termtables的使用】到此这篇关于Go 每日一库之termtables的使用的文章就介绍到这了,更多相关Go termtables内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天
- python学习之|python学习之 实现QQ自动发送消息