Random numbers In Go

In Go, you can generate random numbers using the math/rand package. The package provides functions for generating pseudo-random numbers based on a seed value.

Here’s an example that demonstrates how to generate random numbers in Go:

package main

import (

func main() {
    // Set a seed value based on the current time

    // Generate a random integer between 0 and 100
    randomInt := rand.Intn(101)

    // Generate a random float between 0.0 and 1.0
    randomFloat := rand.Float64()

In this example, we import the fmt, math/rand, and time packages. The math/rand package provides the functions to generate random numbers, and the time package is used to set a unique seed value based on the current time.

We set the seed value using rand.Seed(time.Now().UnixNano()), which ensures that a different seed is used for each program execution, resulting in different sequences of random numbers.

To generate a random integer between 0 and 100, we use rand.Intn(101), where 101 specifies the upper limit (exclusive) for the random number generation. The generated random integer is then printed.

Similarly, to generate a random float between 0.0 and 1.0, we use rand.Float64(), which returns a random floating-point number in the range [0.0, 1.0). The generated random float is printed.

Note that in order to generate random numbers, it’s important to set the seed value using rand.Seed() with a value that changes over time to ensure randomness. In this example, we use time.Now().UnixNano() to obtain the current time in nanoseconds as the seed value.

Remember to import the required packages (fmt, math/rand, and time) and set the seed value before generating random numbers in your Go program.