golang cli 模式的进度条实现

才参加工作那会就疑惑 cli 模式的进度条是怎么实现的,但一直没想着去实现,也没网上找答案。

今,因某功能,想到了进度条,所以网上找答案。
https://baijiahao.baidu.com/s?id=1718413943240114812&wfr=spider&for=pc
读到“一个不断向右生长的容器(直观的看出当前的进度)”,我的脑子里似乎就有灵感一闪而过。

看代码↓

package main

import (
    "fmt"
    "strings"
    "time"
)

func main() {
    for i := 1; i <= 100; i++ {
        fmt.Printf("[%-100s] %d%%\r", strings.Repeat("=", i), i)
        time.Sleep(250 * time.Millisecond)
    }
}