为了更好地理解这个示例,我们始终建议您学习下面列出的 Golang 编程 的基础主题
在本节中,我们将重点关注使用 Go 语言查找给定数字的阶乘。那么让我们了解什么是阶乘。
给定数字的阶乘是所有自然数乘积,直到给定数字。它将通过使用感叹号“!”来表示。为了理解更多细节,让我们看下面的例子。
3 的阶乘 = 3*2*1 = 6
7 的阶乘 = 7*6*5*4*3*2*1 = 5040
在这个 Go 程序中,我们需要使用递归来查找给定数字的阶乘。递归是一种编程技术,它使用函数或算法,允许自身调用一次或多次,直到满足指定条件。
我们在这个 Go 程序中应用的逻辑是声明变量 num,然后从用户那里读取您想要查找阶乘的数字并将其保存到变量 num 中。定义一个函数 factorial(num) 来计算数字的阶乘。在这里,函数接受输入数字 num。如果数字 num 为零或一,则阶乘将为 1。否则,使用递归函数 num*function(num-1) 计算阶乘。
这里我们可以使用内置函数 fmt.scanln() 来读取输入值。可以使用内置函数 fmt.println() 显示输出。这两个内置函数都定义在 fmt 包下。为了使用这些函数,我们应该将“fmt”包导入到我们的程序中。
下面是 Go 程序中使用的步骤。
步骤 1:导入包 fmt
步骤 2:打开 main() 开始程序,GO 程序执行从 main() 开始
步骤 3:声明变量 num。
步骤 4:读取您想要查找阶乘的输入数字 num。
步骤 5:调用函数 factorial(num)
步骤 6:在输出屏幕上显示数字的阶乘。
步骤 7:退出
步骤 1:定义一个接受输入数字 num 的函数
步骤 2:使用 if 检查输入数字 num 是否为 1 或 0。如果有效,则返回 1。否则,返回 num*function(num-1)
package main
import "fmt"
func factorial(num int) int{
if num == 1 || num == 0{
return num
}
return num * factorial(num-1)
}
func main(){
var num int
fmt.Println("Enter the number")
fmt.Scan(#)
fmt.Println("Factorial of the number is")
fmt.Println(factorial(num))
}
Enter the number 7 Factorial of the number is 5040