最近在做一个需求,功能很简单,就是开发一个轻量级客户端,将一个指定文件中的内容通过 TCP 发送到服务器。由于该文件特别大,有可能到达100G的数量级,因此处理起来会比较慢,为了给用户提供比较友好的展示界面,因此,在其中加入了进度条显示功能。 在这里,说一下我在实现该进度条功能时的一些思路。 成果演示 先看一下最终的成品效果展示: 该进度条一共分三部分组成,第一部分是主体进度条,第二部分是百分比,第三部分是当前完成的数据和总数据的一个动态展示。 源码分析 由于是要在终端上打印出进度条的效果,因此,主要还是利用 fmt.Printf 函数中的 \r 格式控制符。有了这个基础,我们就可以先设计一