×

# Golang program to pass the pointer variables in a user-defined function

Here, we are going to learn how to pass the pointer variables in a user-defined function in Golang (Go Language)?
Submitted by Nidhi, on March 11, 2021 [Last updated : March 03, 2023]

## How to pass the pointer variables to a function in Golang?

Problem Solution:

In this program, we will create a user-defined function factorial() that accepts the pointer variable as an argument and calculate the factorial of the given argument. After that return the result to the calling function.

Program/Source Code:

The source code to pass the pointer variables in a user-defined function is given below. The given program is compiled and executed successfully.

## Golang code to demonstrate the example of passing the pointer variables to a function

```// Golang program to pass the pointer variables
// in a user-defined function

package main

import "fmt"

func factorial(num *int) int {
var fact int = 1
for i := *num; i > 0; i-- {
fact = fact * i
}
return fact
}

func main() {
var num int = 0

fmt.Printf("Enter Number: ")
fmt.Scanf("%d", &num)

fmt.Printf("Factorial: %d", factorial(&num))
}
```

Output:

```Enter Number: 7
Factorial: 5040
```

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 fmt package that includes the files of package fmt then we can use a function related to the fmt package.

```func factorial (num * int) int {
var fact int=1
for i:=*num;i>0;i--{
fact=fact *i
}
return fact
}
```

In the above code, we created a user-defined function factorial(). This function accepts the pointer variable as an argument and returns the factorial of the given number.

In the main() function, we read a number from the user and calculated the factorial using the factorial() function and print the result on the console screen.