Back to

Package progress

Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module:


Package progress implements a progress indicator for text mode applications.


type Column

type Column struct {
	Name      string
	Formatter Formatter
	Value     int64

Column represent a column to be printed in the progress status.

type Formatter

type Formatter func(i int64) string

Formatter formats numbers in a Column.

type Group

type Group int

Group identifies a column group to keep progress for.

type Progress

type Progress interface {
	// Update increases the count of a column.
	Update(group Group, section Section, count int64)

Progress outputs information about the progress of a long task.

It's implementation must be thread safe.

func New

func New(columns [][]Column, out io.Writer) Progress

New returns an initialized thread-safe Progress implementation.

columns is the number of stages each item must go through, then with a set of numbers for each state, which will be displayed as a number in each box.


columns = [][]Column{{Name:"found"}, {"hashed", Name:"to hash"}}

It'll print:

[found] [hashed/to hash]

type Section

type Section int

Section identifies a particular column in a column group.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier