Can anyone please tell me why the Go example here:
https://tour.golang.org/basics/1
always returns the same value for rand.Intn(10)?
For the functions in the rand package to work you have to set a 'Seed' value. This has to be a good random value as decided by the user because - as per https://golang.org/pkg/math/rand/#Rand.Seed this is the value golang uses to set the system to a deterministic state first to then generate a number based on that value.
For the sample code to work, you can try
func main() {
rand.Seed(time.Now().UnixNano())
fmt.Println("My favorite number is ", rand.Intn(10))
}
time.Now().UnixNano can give an arbitrary(like) number as the value is in 'one thousand-millionth of a second'