func (progressConsole *Console) SetTotal(total int) {
	progressConsole.setTotalInternal(total + 1)
	progressConsole.createProgressBar()
	progressConsole.Advance()
}
SetTotal sets the total number of steps in a progress indicator
package progress
import (
	"fmt"
	"io"
	"os"
	"time"
	"github.com/gosuri/uiprogress"
)
type Console struct {
	*progressCount
	progress    *uiprogress.Progress
	progressBar *uiprogress.Bar
	out         io.Writer
	title       string
}
func NewConsole(title string) *Console {
	progress := uiprogress.New()
	progress.RefreshInterval = time.Second
	progress.Start()
	return &Console{
		progressCount: &progressCount{},
		progress:      progress,
		out:           os.Stdout,
		title:         title,
	}
}
func (progressConsole *Console) createProgressBar() {
	progressConsole.progress.SetOut(progressConsole.out)
	if progressConsole.getTotalInternal() > 0 {
		fmt.Fprintln(progressConsole.out, "["+progressConsole.title+"]")
	}
	progressConsole.progressBar = progressConsole.progress.AddBar(progressConsole.getTotalInternal())
	progressConsole.progressBar.PrependFunc(func(b *uiprogress.Bar) string {
		return fmt.Sprintf("  [%d/%d]", b.Current()-1, b.Total-1)
	})
	progressConsole.progressBar.AppendCompleted()
	progressConsole.progressBar.AppendFunc(func(b *uiprogress.Bar) string {
		return fmt.Sprintf("  Time: %s", b.TimeElapsedString())
	})
}
func (progressConsole *Console) SetOut(out io.Writer) {
	progressConsole.out = out
}