Previously, we used hard coded values (values that don’t change) and then created conditionals that checked on these values. For example:
alarmRinging := true if alarmRinging { fmt.Println("Turn off the alarm!!") }
We knew that our condition would be true and the print statement would execute. This level of certainty is usually NOT the reason why we would use a conditional. Instead, we create conditionals to account for different conditions and different possible outcomes.
So let’s introduce some uncertainty to our code by generating a random number. Go has a math/rand
library that helps us generate a random integer:
import ( "math/rand" "fmt" ) func main() { fmt.Println(rand.Intn(100)) }
In our main
function, we’re printing out a random number using rand
and the Intn()
method. With the argument of 100
, the maximum value that the method will return is 99. Looking at the entire line fmt.Println(rand.Intn(100))
, it should print a random integer from 0
to 99
. However, if we run our program multiple times, we’ll find that it always prints 81
.
We’ll figure out why this happens in the next exercise, for now let’s see rand.Intn()
in action.
Instructions
Use rand.Intn()
to generate a new random integer for amountLeft
. Use an argment of 10000
so that the maximum possible value generated is 9999.
After passing this checkpoint, run your code a few times to see that amountLeft
has the same value each time.