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

Go?tablewriter庫(kù)提升命令行輸出專業(yè)度實(shí)例詳解

 更新時(shí)間:2023年11月16日 09:21:12   作者:不背鍋運(yùn)維  
命令行工具大家都用過,如果是運(yùn)維人員可能會(huì)編寫命令行工具來完成各種任務(wù),命令行輸出的美觀和易讀性往往容易被忽視,很爛的輸出會(huì)讓人感覺不專業(yè),本文將介紹Go語(yǔ)言中牛逼的實(shí)戰(zhàn)工具tablewriter庫(kù),使你在命令行輸出中展現(xiàn)出專業(yè)的一面

tablewriter:簡(jiǎn)介與安裝

Go語(yǔ)言是一種簡(jiǎn)潔、高效的編程語(yǔ)言,而tablewriter是一個(gè)流行的Go庫(kù),讓你可以輕松地在命令行中創(chuàng)建漂亮的表格輸出。它支持在終端中展示數(shù)據(jù),并提供了許多靈活的選項(xiàng)來定制輸出的樣式和格式。

安裝tablewriter庫(kù)非常簡(jiǎn)單。你只需打開終端并執(zhí)行以下命令:

go get -u github.com/olekukonko/tablewriter

安裝完成后,你就可以在Go代碼中引入tablewriter庫(kù),開始在命令行中展現(xiàn)專業(yè)的表格輸出。

使用tablewriter:簡(jiǎn)單示例

讓我們通過一個(gè)簡(jiǎn)單的示例來了解tablewriter是如何工作的。假設(shè)你有一個(gè)存儲(chǔ)了學(xué)生信息的結(jié)構(gòu)體,并且你想在命令行中輸出這些信息。首先,我們需要導(dǎo)入tablewriter庫(kù),然后創(chuàng)建一個(gè)新的tablewriter對(duì)象并設(shè)置表格的列名:

package main
import (
 "os"
 "github.com/olekukonko/tablewriter"
)
type Student struct {
 Name    string
 Age     int
 Score   float64
}
func main() {
 students := []Student{
  {"Alice", 20, 85.5},
  {"Bob", 21, 78.2},
  {"Charlie", 19, 92.7},
 }
 table := tablewriter.NewWriter(os.Stdout)
 table.SetHeader([]string{"Name", "Age", "Score"})
 // 添加數(shù)據(jù)行
 for _, student := range students {
  table.Append([]string{student.Name, strconv.Itoa(student.Age), strconv.FormatFloat(student.Score, 'f', 1, 64)})
 }
 // 輸出表格
 table.Render()

運(yùn)行這段代碼,得到類似MySQL查詢結(jié)果的專業(yè)輸出:

tantianran@go-dev:~/gocode/src/temp-test$ go run main.go
+---------+-----+-------+
|  NAME   | AGE | SCORE |
+---------+-----+-------+
| Alice   |  20 |  85.5 |
| Bob     |  21 |  78.2 |
| Charlie |  19 |  92.7 |
+---------+-----+-------+

定制輸出樣式

tablewriter提供了許多選項(xiàng),讓你可以定制輸出的樣式以滿足你的需求。你可以調(diào)整表格的對(duì)齊方式、添加自定義樣式、設(shè)置邊框、調(diào)整列寬等等。以下是一些示例:

調(diào)整列對(duì)齊方式:

table.SetAlignment(tablewriter.ALIGN_LEFT) // 或 ALIGN_CENTER 或 ALIGN_RIGHT

添加自定義樣式:

table.SetStyle(tablewriter.StyleBold)

設(shè)置邊框:

table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false})

調(diào)整列寬:

table.SetColWidth(20) // 設(shè)置所有列的寬度
// 或者
table.SetColWidth(0, 30) // 設(shè)置第1列的寬度為30,其他列使用默認(rèn)寬度

以上僅是tablewriter提供的一小部分選項(xiàng)。你可以根據(jù)實(shí)際需求進(jìn)行靈活定制,讓輸出的表格看起來更加專業(yè)和美觀。

最后

使用tablewriter庫(kù)不僅僅是在展示數(shù)據(jù)時(shí)更美觀,而且在處理大量數(shù)據(jù)或需要分類展示信息時(shí),它的優(yōu)勢(shì)更為明顯。你可以通過合理的定制輸出樣式和列寬,創(chuàng)建出適合你特定需求的表格,從而讓輸出結(jié)果更加易讀、明了。

以上就是Go tablewriter庫(kù)提升命令行輸出專業(yè)度實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于Go tablewriter命令行輸出的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • GO語(yǔ)言原生實(shí)現(xiàn)文件上傳功能

    GO語(yǔ)言原生實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了GO語(yǔ)言原生實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 一步步教你在Linux上安裝Go語(yǔ)言環(huán)境

    一步步教你在Linux上安裝Go語(yǔ)言環(huán)境

    本文將介紹如何在Linux操作系統(tǒng)下搭建Go語(yǔ)言環(huán)境,Go語(yǔ)言是一種開源的編程語(yǔ)言,具有高效、簡(jiǎn)潔和并發(fā)性強(qiáng)的特點(diǎn),適用于開發(fā)各種類型的應(yīng)用程序,搭建Go語(yǔ)言環(huán)境是開始學(xué)習(xí)和開發(fā)Go語(yǔ)言項(xiàng)目的第一步,本文將詳細(xì)介紹安裝Go語(yǔ)言、配置環(huán)境變量以及驗(yàn)證安裝是否成功的步驟
    2023-10-10
  • Go語(yǔ)言按字節(jié)截取字符串的方法

    Go語(yǔ)言按字節(jié)截取字符串的方法

    這篇文章主要介紹了Go語(yǔ)言按字節(jié)截取字符串的方法,涉及Go語(yǔ)言操作字符串的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-02-02
  • golang NewRequest/gorequest實(shí)現(xiàn)http請(qǐng)求的示例代碼

    golang NewRequest/gorequest實(shí)現(xiàn)http請(qǐng)求的示例代碼

    本文主要介紹了golang NewRequest/gorequest實(shí)現(xiàn)http請(qǐng)求的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • go語(yǔ)言實(shí)現(xiàn)接口查詢

    go語(yǔ)言實(shí)現(xiàn)接口查詢

    這篇文章主要介紹了go語(yǔ)言實(shí)現(xiàn)接口查詢,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語(yǔ)言應(yīng)用閉包之返回函數(shù)

    Go語(yǔ)言應(yīng)用閉包之返回函數(shù)

    這篇文章主要介紹了Go語(yǔ)言應(yīng)用閉包之返回函數(shù),對(duì)于非常底層的純 Go 語(yǔ)言代碼或者包而言,在各個(gè)操作系統(tǒng)平臺(tái)上的可移植性是非常強(qiáng)的,只需要將源碼拷貝到相應(yīng)平臺(tái)上進(jìn)行編譯即可,或者可以使用交叉編譯來構(gòu)建目標(biāo)平臺(tái)的應(yīng)用程序,需要的朋友可以參考下
    2023-07-07
  • Golang的CSP模型簡(jiǎn)介(最新推薦)

    Golang的CSP模型簡(jiǎn)介(最新推薦)

    Golang采用了CSP(Communicating?Sequential?Processes,通信順序進(jìn)程)并發(fā)模型,通過goroutine和channel提供了一種更為簡(jiǎn)潔和安全的并發(fā)編程方式,本文將詳細(xì)介紹Golang的CSP并發(fā)模型及其使用方法,感興趣的朋友一起看看吧
    2025-01-01
  • GO語(yǔ)言中embed簡(jiǎn)介

    GO語(yǔ)言中embed簡(jiǎn)介

    這篇文章主要介紹了GO語(yǔ)言中embed簡(jiǎn)介的相關(guān)資料,需要的朋友可以參考下
    2023-08-08
  • 3個(gè)Go語(yǔ)言中實(shí)用重構(gòu)技術(shù)分享

    3個(gè)Go語(yǔ)言中實(shí)用重構(gòu)技術(shù)分享

    代碼重構(gòu)是在不改變外部功能的情況下對(duì)現(xiàn)有代碼進(jìn)行改進(jìn),是編程的核心部分之一,本文為大家介紹了Go語(yǔ)言中3個(gè)實(shí)用重構(gòu)技術(shù),需要的可以參考一下
    2023-06-06
  • Golang實(shí)現(xiàn)自定義recovery中間件

    Golang實(shí)現(xiàn)自定義recovery中間件

    在?Golang?的?Web?項(xiàng)目中,自定義?recovery?中間件是一種常見的做法,用于捕獲并處理應(yīng)用程序的運(yùn)行時(shí)錯(cuò)誤,下面我們就來看看具體如何實(shí)現(xiàn)吧
    2023-09-09

最新評(píng)論