Golang 程序使用递归反转句子

go programmingserver side programmingprogramming

在本教程中,我们将学习如何使用 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 包提供了打印任何内容的功能 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) // 打印结果 }

输出

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 包提供了打印任何内容的功能 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) // 打印结果 }

输出

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

代码说明

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

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

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

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

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

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

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

  • 最后打印使用内置函数 fmt.Print() 在屏幕上显示句子。此函数在 fmt 包下定义,它有助于编写标准输出。

结论

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


相关文章