# Golang program to generate the random number based on current time as a source value

Here, we are going to learn how to generate the random number based on current time as a source value in Golang (Go Language)?
Submitted by Nidhi, on May 02, 2021 [Last updated : March 05, 2023]

## Generating the random number based on current time as a source value in Golang

Problem Solution:

Here, we will generate random numbers of integer types based on current time as a source value and print generated numbers on the console screen.

Program/Source Code:

The source code to generate the random number based on current time as a source value is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

## Golang code to generate the random number based on current time as a source value

```// Golang program to generate the random number
// based on current time as a source value

package main

import "math/rand"
import "fmt"
import "time"

// Entry point for the program
func main() {
x := rand.NewSource(time.Now().UnixNano())
y := rand.New(x)
fmt.Println("Random number: ", y.Intn(10))

x = rand.NewSource(time.Now().UnixNano())
y = rand.New(x)
fmt.Println("Random number: ", y.Intn(10))
}
```

Output:

```RUN 1:
Random number:  0
Random number:  1

RUN 2:
Random number:  9
Random number:  8
```

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the required packages to predefined functions.

In the main() function, we used rand.NewSource(), rand.New() function to use source value to generate a random number and print the result on the console screen.