# Example of generating integer random Numbers using Golang

• 2020-06-03 06:56:56
• OfStack

php random number

PHP is a simple way to generate a random number for a given range, and you can specify a range from negative to positive integers, such as:

``````
<?php
echo mt_rand(-988, 888);``````

This generates random Numbers from -988 to 888.

Using Go is a bit of a hassle. The following two functions respectively generate a random integer in the maximum range and a random integer in the range:

Generate 1 random number in the maximum range

1 must be given a timestamp seed, otherwise each generation will have one value. Here is the random number that generates [0,100].

``````
func GenerateRandnum() int {
rand.Seed(time.Now().Unix())
randNum := rand.Intn(100)
return randNum
}``````

Generate 1 random number for a given range

This is really just like generating a random number 1 within a given maximum, but with a maximum and minimum range of processing.

``````
func GenerateRangeNum(min, max int) int {
rand.Seed(time.Now().Unix())
randNum := rand.Intn(max - min) + min
return randNum
}``````

The complete example is as follows:

``````
func main() {
GenerateRandnum()
GenerateRangeNum(888, 900)
}

package main

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

// GenerateRandnum  Generate random Numbers in the maximum range
func GenerateRandnum() int {
rand.Seed(time.Now().Unix())
randNum := rand.Intn(100)

fmt.Printf("rand is %v\n", randNum)

return randNum
}

// GenerateRangeNum  generate 1 A random number within an interval
func GenerateRangeNum(min, max int) int {
rand.Seed(time.Now().Unix())
randNum := rand.Intn(max - min)
randNum = randNum + min
fmt.Printf("rand is %v\n", randNum)
return randNum
}

func main() {
GenerateRandnum()
GenerateRangeNum(888, 900)
}``````

Operation results:

➜ examples git:(master) ✗ go run range.go

rand is 52

rand is 892

➜ examples git:(master) ✗ go run range.go

rand is 53

rand is 889

➜ examples git:(master) ✗ go run range.go

rand is 53

rand is 889

conclusion

Related articles: