使用golang實(shí)現(xiàn)在屏幕上打印進(jìn)度條的操作
GoSimplePrint 是一款用go寫的開源簡(jiǎn)單進(jìn)度條打印包。我可以利用它,在自己項(xiàng)目中需要加入進(jìn)度條功能。
1、安裝
go get -u github.com/redmask-hb/GoSimplePrint/goPrint
2、初始化
bar:=goPrint.NewBar(20)
這里的20,是我們滿進(jìn)度條的數(shù)值。如果我們要讓進(jìn)度條走滿的時(shí)候值是100,那么應(yīng)該NewBar(100)
3、配置參數(shù)
(1)設(shè)置
bar.SetGraph(graph string) //設(shè)置進(jìn)度條圖塊,默認(rèn)"█"
bar.SetNotice(notice string) //設(shè)置進(jìn)度條前的提示內(nèi)容,可選
bar.SetProgressGraphTotal(totalGraph int) //設(shè)置進(jìn)度條完成所填圖塊的總數(shù),默認(rèn):50 ,通過配置不同的圖塊和數(shù)量可以改變進(jìn)度條的總長(zhǎng)度。
bar.SetEnds(start,end string) //設(shè)置進(jìn)度條端塊,默認(rèn)為 srart:"[",end:"]"
bar.SetBackGraph(graph string) //設(shè)置背面被進(jìn)度條替換的圖形,默認(rèn)" "
(2)隱藏
bar.HideProgressBar() //隱藏進(jìn)度條
bar.HidePercent() //隱藏百分比
bar.HideRatio() //隱藏比值
(3)顏色設(shè)置
bar.SetColor(color BarColor) //配置所有的顏色選項(xiàng)
bar.SetBackColor(color int) //設(shè)置進(jìn)度條背景色
bar.SetRatioColor(color int) //設(shè)置比值顏色
bar.SetPercentColor(color int) //設(shè)置百分比顏色
bar.SetNoticeColor(color int) //設(shè)置提示顏色
bar.SetGraphColor(clor int) //設(shè)置移動(dòng)圖塊顏色
( 由于windows的cmd顏色打印,需要調(diào)用系統(tǒng)API,目前版本在windows操作系統(tǒng)下顏色是被忽略的 )
背景顏色為40-47,字體顏色為30-37,可以參考下表:
0 黑色 1 紅色 2 綠色 3 黃色 4 藍(lán)色 5 紫紅色 6 青藍(lán)色 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 是進(jìn)度的當(dāng)前值,在for循環(huán)中,動(dòng)態(tài)將當(dāng)前值傳入到bar對(duì)象
5、結(jié)束
bar.PrintEnd(tip) //tip為可選參數(shù)
當(dāng)進(jìn)度條完成后,可以使用PrintEnd() 給出一個(gè)結(jié)束提示,可以傳入一個(gè)要打印的內(nèi)容,也可以不傳。不傳即為在進(jìn)度條最后加一個(gè)"\n"。
參考實(shí)例:
func main() { bar:=goPrint.NewBar(20) bar.SetNotice("進(jìn)度條:") bar.SetGraph(">") bar.SetNoticeColor(goPrint.FontColor.Red) f or i:=1;i<=20;i++ { bar.PrintBar(i) time.Sleep(time.Second) } bar.PrintEnd("Finish!") }
打印效果
到此這篇關(guān)于使用golang實(shí)現(xiàn)在屏幕上打印進(jìn)度條的操作的文章就介紹到這了,更多相關(guān)golang在屏幕上打印進(jìn)度條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語言atomic.Value如何不加鎖保證數(shù)據(jù)線程安全?
這篇文章主要介紹了Go語言atomic.Value如何不加鎖保證數(shù)據(jù)線程安全詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05golang分層測(cè)試之http接口測(cè)試入門教程
這篇文章主要介紹了golang分層測(cè)試之http接口測(cè)試入門教程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12Golang實(shí)現(xiàn)簡(jiǎn)易的rpc調(diào)用
RPC指(Remote Procedure Call Protocol)遠(yuǎn)程過程調(diào)用協(xié)議。本文將實(shí)現(xiàn)利用Golang進(jìn)行rpc調(diào)用(只實(shí)現(xiàn)一個(gè)rpc框架基本的功能,不對(duì)性能做保證),需要的可以參考一下2023-03-03go的websocket實(shí)現(xiàn)原理與用法詳解
這篇文章主要介紹了go的websocket實(shí)現(xiàn)原理與用法,詳細(xì)分析了websocket的功能、原理及Go語言實(shí)現(xiàn)websocket的相關(guān)技巧,需要的朋友可以參考下2016-07-07