今天學個簡單點的😀,dateparse
庫時偶爾見遇到了這個庫。git
本文代碼使用 Go Modules。github
建立目錄並初始化:golang
$ 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 main import ( "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()
返回渲染後的表格字符串。code
處理普通的文本表格,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😄
歡迎關注個人微信公衆號【GoUpUp】,共同窗習,一塊兒進步~