使用递归的反转句子Go语言程序


在本教程中,我们将学习如何使用Go编程语言中的递归反转句子。

递归是指函数通过直接或间接方式调用自身。每个递归函数都有一个基例或基准条件,它是递归中最终的可执行语句,并停止进一步的调用。递归将持续进行,直到满足某些条件以阻止它。

以下是展示两种不同类型递归(直接和间接)的两个示例。

使用直接递归方法使用递归反转句子

语法

Func recursion() {
   recursion(); /* function calls itself */
}
func main() {
   recursion();
}

算法

  • 步骤1 - 导入fmt包

  • 步骤2 - 创建函数reversesentence()

  • 步骤3 - 使用if条件执行代码

  • 步骤4 - 函数自身递归调用

  • 步骤5 - 启动main()函数

  • 步骤6 - 调用reversesentence()函数

  • 步骤7 - 使用fmt.Print()打印结果。

示例

使用直接递归方法使用递归反转句子的Go语言程序代码。

// GOLANG PROGRAM TO REVERSE A SENTENCE USING RECURSION package main // fmt package provides the function to print anything import "fmt" // create the function reversesentence() func reversesentence(input string) { if len(input) == 0 { return } // recursive call of the function itself reversesentence(input[1:]) fmt.Print(string(input[0])) } func main() { fmt.Println("GOLANG PROGRAM TO REVERSE A SENTENCE USING RECURSION") // calling the function reversesentence() fmt.Println("Entered sentence =") var sentence string sentence = "Taylor Swift is the best" fmt.Println(sentence) reversesentence(sentence) // Print the result }

输出

GOLANG PROGRAM TO REVERSE A SENTENCE USING RECURSION
Entered sentence =
Taylor Swift is the best
tseb eht si tfiwS rolyaT

代码描述

  • 在上面的程序中,我们首先声明main包

  • 我们导入了包含fmt包文件的fmt包

  • 接下来,我们创建一个函数reversesentence(),使用递归技术反转句子

  • 我们将使用if条件语句,如果条件为真则执行一段代码,如果为假则递归调用自身函数

  • 现在启动main()函数

  • 现在调用reversesentence()函数

  • 最后使用fmt.Print()在屏幕上打印反转后的句子。

使用间接递归方法使用递归反转句子

语法

func recursion_1() {
   recursion_2()
}
func recursion_2(){
   recursion_1()
}
func main() {
   recursion_1();
}

算法

  • 步骤1 - 导入fmt包

  • 步骤2 - 创建函数reverse()

  • 步骤3 - 使用if条件执行代码

  • 步骤4 - 递归调用函数reverse2()

  • 步骤5 - 创建函数reverse2()

  • 步骤6 - 间接递归调用函数reverse()

  • 步骤7 - 启动main()函数

  • 步骤8 - 调用函数reverse()

  • 步骤9 - 使用fmt.Print()在屏幕上打印结果

示例

使用间接递归方法使用递归反转句子的Go语言程序代码

// GOLANG PROGRAM TO REVERSE A SENTENCE USING RECURSION package main // fmt package provides the function to print anything import "fmt" // create the function reverse() func reverse(input string) { if len(input) == 0 { return } // recursive call of the function reverse2 reverse2(input[1:]) fmt.Print(string(input[0])) } func reverse2(n string) { if len(n) == 0 { return } // recursive call of the function the first function indirectly reverse(n[1:]) fmt.Print(string(n[0])) } func main() { fmt.Println("GOLANG PROGRAM TO REVERSE A SENTENCE USING RECURSION") // calling the function reverse() var sentence string sentence = "Golang Solutions" fmt.Println("Entered Sentence\n",sentence) reverse2(sentence) // Print the result }

输出

GOLANG PROGRAM TO REVERSE A SENTENCE USING RECURSION
Entered Sentence
Golang Solutions
snoituloS gnaloG

代码描述

  • 在上面的程序中,我们首先声明main包

  • 我们导入了包含fmt包文件的fmt包

  • 接下来,我们创建一个函数reverse(),使用递归技术反转句子

  • 我们将使用if条件语句,如果条件为真则执行一段代码,如果为假则递归调用第二个函数reverse2()

  • 接下来,我们创建一个函数reverse2()。这里间接地对第一个函数进行递归函数调用,该函数间接调用第一个函数reverse()

  • 现在启动main()函数。GO程序的执行从main()函数开始

  • 接下来,我们调用reverse()函数来反转句子。

  • 最后,使用内置函数fmt.Print()在屏幕上打印句子的反转结果。此函数在fmt包下定义,有助于写入标准输出。

结论

在以上两个示例中,我们已成功编译并执行了使用递归技术的Go语言程序代码来反转句子。我们展示了直接和间接类型的递归方法。在第一个示例中,我们展示了直接递归方法,在第二个示例中,我们展示了间接递归方法。

更新于:2022年10月25日

浏览量:556

开启您的职业生涯

完成课程获得认证

开始学习
广告