gitee.com/quant1x/gox@v1.7.6/progressbar/demo/main.go (about) 1 package main 2 3 import ( 4 "sync" 5 "time" 6 7 pgbar "gitee.com/quant1x/gox/progressbar" 8 ) 9 10 func main() { 11 b := pgbar.NewBar(1, "1st", 20000) 12 b2 := pgbar.NewBar(2, "2st", 10000) 13 b3 := pgbar.NewBar(3, "3st", 30000) 14 15 b.SetSpeedSection(900, 100) 16 b2.SetSpeedSection(900, 100) 17 b3.SetSpeedSection(900, 100) 18 19 b4 := pgbar.NewBar(0, "4st", 4000*3) 20 var wg sync.WaitGroup 21 wg.Add(4) 22 go func() { 23 defer wg.Done() 24 for i := 0; i < 20000; i++ { 25 b.Add() 26 time.Sleep(time.Second / 2000) 27 } 28 }() 29 30 go func() { 31 defer wg.Done() 32 for i := 0; i < 10000; i++ { 33 b2.Add() 34 time.Sleep(time.Second / 1000) 35 } 36 }() 37 go func() { 38 defer wg.Done() 39 for i := 0; i < 30000; i++ { 40 b3.Add() 41 time.Sleep(time.Second / 3000) 42 } 43 }() 44 45 go func() { 46 defer wg.Done() 47 for i := 0; i < 4000; i++ { 48 b4.Add(3) 49 time.Sleep(time.Second / 300) 50 } 51 }() 52 wg.Wait() 53 }