Go 每日一庫之termtables的使用
今天學(xué)個(gè)簡單點(diǎn)的😀,termtables處理表格形式數(shù)據(jù)的輸出。適用于隨時(shí)隨地的輸出一些狀態(tài)或統(tǒng)計(jì)數(shù)據(jù),便于觀察和調(diào)試。是一個(gè)很小巧的工具庫。我在學(xué)習(xí)dateparse庫時(shí)偶爾見遇到了這個(gè)庫。
快速使用
本文代碼使用 Go Modules。
創(chuàng)建目錄并初始化:
$ 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,然后原始倉庫已經(jīng)被刪除了。目前使用的都是其他人 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())
}
運(yùn)行:
$ go run main.go +--------+-----+ | User | Age | +--------+-----+ | dj | 18 | | darjun | 30 | +--------+-----+
使用很方便,首先調(diào)用termtables.CreateTable()創(chuàng)建一個(gè)表格對(duì)象,調(diào)用該對(duì)象的AddHeader()方法添加頭部信息,然后調(diào)用AddRow()逐行添加數(shù)據(jù)。最后調(diào)用Render()返回渲染后的表格字符串。
模式
處理普通的文本表格,termtables還支持輸出 HTML 和 Markdown 格式的表格。只需要調(diào)用表格對(duì)象的SetModeHTML()/SetModeMarkdown()方法設(shè)置一些模式即可 。
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())
}
運(yùn)行:
$ 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 文件中。
總結(jié)
今天輕松一下,了解了一個(gè)小巧的工具庫termtables。雖然自己實(shí)現(xiàn)一個(gè)類似的也不復(fù)雜,termtables庫額外幫我們處理了編碼、字寬等比較繁瑣的細(xì)節(jié)。有需要在寫示例程序中打印類似表格之類的數(shù)據(jù)不妨試一試termtables。
大家如果發(fā)現(xiàn)好玩、好用的 Go 語言庫,歡迎到 Go 每日一庫 GitHub 上提交 issue😄
參考
Go 每日一庫 GitHub:https://github.com/darjun/go-daily-lib
到此這篇關(guān)于Go 每日一庫之termtables的使用的文章就介紹到這了,更多相關(guān)Go termtables內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文深入探索Go語言中的循環(huán)結(jié)構(gòu)
在編程中,循環(huán)結(jié)構(gòu)扮演著重要的角色,它使我們能夠有效地重復(fù)執(zhí)行特定的代碼塊,以實(shí)現(xiàn)各種任務(wù)和邏輯,在Go語言中,for 是 Go 中唯一的循環(huán)結(jié)構(gòu),本文將深入探討Go語言中的for循環(huán)類型以及它們的用法2023-08-08
Golang Gin框架實(shí)現(xiàn)文件下載功能的示例代碼
本文主要介紹了Golang Gin框架實(shí)現(xiàn)文件下載功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
Go語言定時(shí)任務(wù)cron的設(shè)計(jì)與使用
這篇文章主要為大家詳細(xì)介紹了Go語言中定時(shí)任務(wù)cron的設(shè)計(jì)與使用,文中的示例代碼講解詳細(xì),對(duì)我們深入掌握Go語言有一定的幫助,需要的可以參考下2023-11-11
Bililive-go 實(shí)現(xiàn)直播自動(dòng)監(jiān)控錄制功能
最近有直播錄制的需求,但是自己手動(dòng)錄制太麻煩繁瑣,于是用了開源項(xiàng)目Bililive-go進(jìn)行全自動(dòng)監(jiān)控錄制,對(duì)Bililive-go 直播自動(dòng)監(jiān)控錄制實(shí)現(xiàn)思路感興趣的朋友,一起看看吧2024-03-03
Golang Cron 定時(shí)任務(wù)的實(shí)現(xiàn)示例
這篇文章主要介紹了Golang Cron 定時(shí)任務(wù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
golang模板template自定義函數(shù)用法示例
這篇文章主要介紹了golang模板template自定義函數(shù)用法,結(jié)合實(shí)例形式分析了Go語言模板自定義函數(shù)的基本定義與使用方法,需要的朋友可以參考下2016-07-07

