GoSimplePrint 是一款用go寫的開源簡單進度條打印包。我可以利用它,在自己項目中需要加入進度條功能。
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、結(jié)束
bar.PrintEnd(tip) //tip為可選參數(shù)
當進度條完成后,可以使用PrintEnd() 給出一個結(jié)束提示,可以傳入一個要打印的內(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!")
}
打印效果
![](/d/20211017/9c5c86afa423cf6177312eb5cc529468.gif)
到此這篇關于使用golang實現(xiàn)在屏幕上打印進度條的操作的文章就介紹到這了,更多相關golang在屏幕上打印進度條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- golang 兩個go程輪流打印一個切片的實現(xiàn)
- Golang 之協(xié)程的用法講解
- go 協(xié)程返回值處理操作
- 淺談golang for 循環(huán)中使用協(xié)程的問題
- 淺談go 協(xié)程的使用陷阱
- go獲取協(xié)程(goroutine)號的實例
- Go使用協(xié)程交替打印字符