Just a few functions for helping humanize times and sizes.
go get it as
github.com/dustin/go-humanize, import it as
"github.com/dustin/go-humanize", use it as
This lets you take numbers like
82854982 and convert them to useful
79MiB (whichever you prefer).
fmt.Printf("That file is %s.", humanize.Bytes(82854982))
This lets you take a
time.Time and spit it out in relative terms.
12 seconds ago or
3 days from now.
fmt.Printf("This was touched %s", humanize.Time(someTimeInstance))
Thanks to Kyle Lemons for the time implementation from an IRC conversation one day. It's pretty neat.
From a mailing list discussion where a user wanted to be able to label ordinals.
0 -> 0th 1 -> 1st 2 -> 2nd 3 -> 3rd 4 -> 4th [...]
fmt.Printf("You're my %s best friend.", humanize.Ordinal(193))
Want to shove commas into numbers? Be my guest.
0 -> 0 100 -> 100 1000 -> 1,000 1000000000 -> 1,000,000,000 -100000 -> -100,000
fmt.Printf("You owe $%s.\n", humanize.Comma(6582491))