欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go 每日一庫之termtables的使用

 更新時(shí)間:2021年07月05日 10:23:16   作者:darjun  
本文主要介紹了Go 每日一庫之termtables的使用,termtables處理表格形式數(shù)據(jù)的輸出。是一個很小巧的工具庫。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

今天學(xué)個簡單點(diǎn)的😀,termtables處理表格形式數(shù)據(jù)的輸出。適用于隨時(shí)隨地的輸出一些狀態(tài)或統(tǒng)計(jì)數(shù)據(jù),便于觀察和調(diào)試。是一個很小巧的工具庫。我在學(xué)習(xí)dateparse庫時(shí)偶爾見遇到了這個庫。

快速使用

本文代碼使用 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)建一個表格對象,調(diào)用該對象的AddHeader()方法添加頭部信息,然后調(diào)用AddRow()逐行添加數(shù)據(jù)。最后調(diào)用Render()返回渲染后的表格字符串。

模式

處理普通的文本表格,termtables還支持輸出 HTML 和 Markdown 格式的表格。只需要調(diào)用表格對象的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é)

今天輕松一下,了解了一個小巧的工具庫termtables。雖然自己實(shí)現(xiàn)一個類似的也不復(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論