1
0

progress.go 527 B

12345678910111213141516171819202122232425
  1. package utils
  2. import (
  3. "fmt"
  4. "github.com/cheggaaa/pb/v3"
  5. )
  6. type Bar struct {
  7. pb *pb.ProgressBar
  8. }
  9. func NewBar(count int, MyStrStart, MyStrEnd string) *Bar {
  10. tmpl := fmt.Sprintf(`{{counters . }} {{ bar . "[" "-" (cycle . "↖" "↗" "↘" "↙" ) "_" "]"}} %s {{string . "MyStr" | green}} %s `, MyStrStart, MyStrEnd)
  11. bar := pb.ProgressBarTemplate(tmpl).Start(count)
  12. return &Bar{pb: bar}
  13. }
  14. func (b *Bar) Grow(num int, MyStrVal string) {
  15. b.pb.Set("MyStr", MyStrVal).Add(num)
  16. }
  17. func (b *Bar) Done() {
  18. b.pb.Finish()
  19. }