All the integer functions in math/rand generate non-negative numbers.
rand.Int() int // [0, MaxInt] rand.Int31() int32 // [0, MaxInt32]
I found this example at Go Cookbook, which is equivalent to rand.Range(min, max int) (if that function existed):
rand.Range(min, max int)
rand.Intn(max - min) + min