Golang程序 使用递归倒置句子

Golang程序 使用递归倒置句子

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

递归是指一个函数通过直接或间接的方式调用自己。每个递归函数都有一个基本情况或基本条件,它是递归中最后的可执行语句,并停止进一步调用。递归继续进行,直到满足某些条件而阻止它。

下面是两个例子,显示了两种不同类型的递归:直接和间接。

通过使用直接递归方法,用递归来逆转一个句子

语法

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

算法

  • 第1步– 导入软件包fmt

  • 第2步 – 创建函数reversesentence ()

  • 第3步 – 使用if条件来执行代码

  • 第4步 – 递归调用该函数本身

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

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

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

例子

Golang程序代码通过使用直接递归方法来反转一个句子。

// 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()在屏幕上打印结果

例子

使用间接递归方法,用递归来反转一个句子的Golang程序代码

// 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包下定义的,它有助于编写标准输出。

总结

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程