diff --git a/README.md b/README.md index 54cfadc..3eee66f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,44 @@ # go-eta ETA calculator for Go. + +## Example + +```go +package main + +import ( + "fmt" + "math/rand" + "os" + "time" + + "github.com/nxshock/go-eta" +) + +func main() { + stepsCount := 1000 + + eta := eta.New(time.Minute, stepsCount) + + processed := 0 + + // Emulate work + go func() { + for processed < stepsCount { + time.Sleep(time.Second) + r := rand.Intn(30) + + processed += r + eta.Increment(r) + } + }() + + // Print progress + for processed < stepsCount { + time.Sleep(time.Second) // Update progress every second + fmt.Fprintf(os.Stderr, "\rProcessed %d of %d, ETA: %s", processed, stepsCount, eta.Eta().Format("15:04:05")) + } + +} +``` \ No newline at end of file