Golang program to calculate the factorial using recursion

Here, we are going to learn how to calculate the factorial using recursion in Golang (Go Language)?
Submitted by Nidhi, on March 11, 2021

Problem Solution:

In this program, we will create a user-defined function to calculate the factorial of a given number using recursive and print the result on the console screen.

Program/Source Code:

The source code to calculate the factorial using recursion is given below. The given program is compiled and executed successfully.

// Golang program to calculate
// the factorial using recursion

package main

import "fmt"

func factorial(num int) int {
	if num == 1 {
		return 1
	} else {
		return num * factorial(num-1)
	}
}

func main() {
	var num int = 0
	var fact int = 0

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

	fact = factorial(num)

	fmt.Printf("Factorial is: %d", fact)
}

Output:

Enter number: 7
Factorial is: 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{
  if(num==1){
    return 1
  }else{
    return num*factorial(num-1)  
  }
}

In the above code, we implemented a recursive function factorial() that accepts an integer number as an argument and returns the factorial of a given number to the calling function.

In the main() function, we created two variables num, fact with the initial value. After we called the factorial() function to get the factorial of the given number. After that print the result on the console screen.

Golang Recursion Programs »






Comments and Discussions




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.