Golang 使用递归反转句子

Golang 使用递归反转句子

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

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

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

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

语法

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

步骤

  • 步骤 1 - 导入 fmt 包

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

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

  • 步骤 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条件语句,它允许您执行一段代码,如果条件为false,则递归调用函数本身。

  • 现在开始执行函数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

代码描述

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

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

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

  • 我们使用了一个条件语句if,允许您执行一块代码;如果条件为假,则递归调用第二个函数reverse2()

  • 接下来,我们创建了一个reverse2()函数。这里通过递归调用了第一个函数reverse()

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

  • 接下来,我们调用reverse()函数来颠倒一个句子

  • 最后使用内置函数fmt.Print()将颠倒的句子打印到屏幕上。该函数定义在fmt包下,可以帮助写入标准输出

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程