首页 文章详情

Go 每日一库:让等待心里更有底

Go语言精选 | 269 2021-08-20 04:27 0 0 0
UniSMS (合一短信)

据 2020 年 Go 官方调查报告显示,使用 Go 进行 CLI 开发排名第二。Go 爱好者们,应该也有不少用 Go 写命令行程序的。

今天推荐一个命令行程序有用的辅助库:控制台进度条。

项目地址:https://github.com/cheggaaa/pb,Star 数:2.9k+。

看一个简单的使用例子:

package main

import (
 "time"
 
 "github.com/cheggaaa/pb/v3"
)

func main() {
 count := 100000
 // create and start new bar
 bar := pb.StartNew(count)
 
 // start bar from 'default' template
 // bar := pb.Default.Start(count)
 
 // start bar from 'simple' template
 // bar := pb.Simple.Start(count)
 
 // start bar from 'full' template
 // bar := pb.Full.Start(count)
 
 for i := 0; i < count; i++ {
  bar.Increment()
  time.Sleep(time.Millisecond)
 }
 bar.Finish()
}

运行结果类似这样:

> go run test.go
37158 / 100000 [================>_______________________________] 37.16% 1m11s

如果不喜欢这个简单的样式,可以自己进行简单的定制。

目前该库最新版本是 v3,因此建议这么使用(基于 Module):

go get github.com/cheggaaa/pb/v3


文末「阅读原文」可直达项目首页。


今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!



推荐阅读


福利

我为大家整理了一份从入门到进阶的Go学习资料礼包,包含学习建议:入门看什么,进阶看什么。关注公众号 「polarisxu」,回复 ebook 获取;还可以回复「进群」,和数万 Gopher 交流学习。

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter