type Reader struct {
io.Reader
Totalint64
Written int64
}func (r *Reader) Read(b []byte) (n int, err error) {
n, err = r.Reader.Read(b)r.Written += int64(n)
fmt.Printf("\r进度 %.2f%%", float64(r.Written*10000/r.Total)/100)return
}
【console打印动态进度条】注意 "\r",将是保证在控制台上同一个地方,数字不停变化的关键,同样的, 在java中也同样适用
for (int i = 1;
i <= 100;
i++) {
try {
TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.print("\r我的进度是" + i + "%");
}
推荐阅读
- 【Go进阶—并发编程】WaitGroup
- 【第三十二期】春招 Golang实习面经 七牛
- Golang|Golang 小数操作之判断几位小数点与四舍五入
- Golang|Golang []int []string 互转与判断字符是否在数组中
- Go 语言社区新提案 arena,可优化内存分配
- golang中的单元测试
- 【第三十一期】360后台开发实习面经 - 两轮技术面
- Leetcode专题[字符串]-剑指 Offer 05-替换空格
- Leetcode专题[字符串]-151-翻转字符串里的单词