溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用golang怎么在屏幕上打印進度條

發(fā)布時間:2021-03-03 15:30:09 來源:億速云 閱讀:274 作者:Leah 欄目:開發(fā)技術

今天就跟大家聊聊有關利用golang怎么在屏幕上打印進度條,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

什么是golang

golang 是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言,其語法與 C語言相近,但并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能。

1、安裝

 go get -u github.com/redmask-hb/GoSimplePrint/goPrint

2、初始化

bar:=goPrint.NewBar(20)

這里的20,是我們滿進度條的數(shù)值。如果我們要讓進度條走滿的時候值是100,那么應該NewBar(100)

3、配置參數(shù)

(1)設置

bar.SetGraph(graph string)  //設置進度條圖塊,默認"█"

bar.SetNotice(notice string) //設置進度條前的提示內(nèi)容,可選

bar.SetProgressGraphTotal(totalGraph int) //設置進度條完成所填圖塊的總數(shù),默認:50 ,通過配置不同的圖塊和數(shù)量可以改變進度條的總長度。

bar.SetEnds(start,end string)  //設置進度條端塊,默認為 srart:"[",end:"]"

bar.SetBackGraph(graph string) //設置背面被進度條替換的圖形,默認" "

(2)隱藏

bar.HideProgressBar()  //隱藏進度條

bar.HidePercent()  //隱藏百分比

bar.HideRatio()    //隱藏比值

(3)顏色設置

bar.SetColor(color BarColor) //配置所有的顏色選項

bar.SetBackColor(color int) //設置進度條背景色

bar.SetRatioColor(color int) //設置比值顏色

bar.SetPercentColor(color int) //設置百分比顏色

bar.SetNoticeColor(color int) //設置提示顏色

bar.SetGraphColor(clor int) //設置移動圖塊顏色

由于windows的cmd顏色打印,需要調(diào)用系統(tǒng)API,目前版本在windows操作系統(tǒng)下顏色是被忽略的

背景顏色為40-47,字體顏色為30-37,可以參考下表:

0 黑色   1 紅色  2 綠色  3 黃色  4 藍色  5 紫紅色  6 青藍色  7 白色

你也可以直接使用包中定義的顏色參數(shù)

bar.SetNoticeColor(goPrint.FontColor.Yellow)
bar.SetBackColor(goPrint.BackColor.Red)
bar.SetGraphColor(goPrint.FontColor.Blue)
bar.SetRatioColor(goPrint.FontColor.Red)

4、打印

bar.PrintBar(curValue) //curValue 是進度的當前值,在for循環(huán)中,動態(tài)將當前值傳入到bar對象

5、結束

bar.PrintEnd(tip) //tip為可選參數(shù)

當進度條完成后,可以使用PrintEnd() 給出一個結束提示,可以傳入一個要打印的內(nèi)容,也可以不傳。不傳即為在進度條最后加一個"\n"。

參考實例:

func main() { 


bar:=goPrint.NewBar(20)

bar.SetNotice("進度條:")

bar.SetGraph(">")

bar.SetNoticeColor(goPrint.FontColor.Red)

f or i:=1;i<=20;i++ { 

bar.PrintBar(i)

time.Sleep(time.Second)

}

bar.PrintEnd("Finish!")

}

打印效果

利用golang怎么在屏幕上打印進度條

看完上述內(nèi)容,你們對利用golang怎么在屏幕上打印進度條有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI