How to Get Uint32 Type Random Number in Golang?


In Golang, generating random numbers is a common task for many developers. While there are various methods for generating random numbers, it is important to use the correct type of number for your particular use case. In this article, we will focus on generating Uint32 type random numbers in Golang.

Step 1: Importing the Math/rand Package

To generate random Uint32 numbers, we need to import the "math/rand" package into our Golang program. This package contains a set of functions for generating pseudo-random numbers.

Step 2: Setting the Seed

The next step is to set the seed for the random number generator. This is done using the "rand.Seed" function. The seed is used to initialize the pseudo-random number generator with a starting value.

It is important to note that if you don't set the seed, the generator will use the same starting value every time you run your program. This means that you will get the same sequence of random numbers each time. To avoid this, you can use a time-based seed value, as shown below −

import (
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())
}

Step 3: Generating the Random Uint32 Number

Once the seed is set, we can use the "rand.Uint32" function to generate the random Uint32 number. This function takes no parameters and returns a pseudo-random Uint32 value.

Example

Here's an example of generating a random Uint32 number −

package main

import (
   "fmt"
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())

   randomUint32 := rand.Uint32()

   fmt.Println(randomUint32)
}

Output

1172724322

Step 4: Generating a Range of Uint32 Numbers

In some cases, you may want to generate a range of Uint32 numbers. This can be done by using the "rand.Intn" function, which returns a random integer between 0 and n-1.

Example

Here's an example of generating a range of random Uint32 numbers −

package main

import (
   "fmt"
   "math/rand"
   "time"
)

func main() {
   rand.Seed(time.Now().UnixNano())

   for i := 0; i < 10; i++ {
      randomUint32 := rand.Intn(100000000)

      fmt.Println(randomUint32)
   }
}

In this example, we generate 10 random Uint32 numbers between 0 and 99,999,999.

Output

91669215
35025001
10245320
89439274
23109263
75885730
81748276
79519765
22667415
1893388

Conclusion

Generating random Uint32 numbers in Golang is a simple process that involves setting the seed and using the "rand.Uint32" function. By following the steps outlined in this article, you can generate a single Uint32 number or a range of numbers for your particular use case. Remember to always set the seed to ensure that you get different sequences of random numbers each time you run your program.

Updated on: 08-May-2023

240 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements