ordinals.go

 1package humanize
 2
 3import "strconv"
 4
 5// Ordinal gives you the input number in a rank/ordinal format.
 6//
 7// Ordinal(3) -> 3rd
 8func Ordinal(x int) string {
 9	suffix := "th"
10	switch x % 10 {
11	case 1:
12		if x%100 != 11 {
13			suffix = "st"
14		}
15	case 2:
16		if x%100 != 12 {
17			suffix = "nd"
18		}
19	case 3:
20		if x%100 != 13 {
21			suffix = "rd"
22		}
23	}
24	return strconv.Itoa(x) + suffix
25}