Go语言回文检查程序


在本教程中,我们将学习如何在 Go 编程语言中检查回文。我们将分别通过示例检查数字和字符串的回文。

回文是指一个单词、数字、短语或其他符号序列,其反向读取与正向读取相同,例如单词“civic”或“radar”,或数字如 22\2\22,或句子如“Mr. Owl ate my metal worm”。

示例 1:Go 语言程序代码,使用单个函数显示数字是否为回文

语法

Syntax of For loop
Initialize
for condition {
}
incrementor

初始化语句是可选的,它在 for 循环开始之前执行。

条件语句包含一个布尔表达式,该表达式在循环的每次迭代开始时都会进行评估。如果条件语句的值为真,则循环执行。

增量语句在 for 循环的主体之后执行。在增量语句之后,条件语句再次进行评估,如果条件语句的值为假,则循环结束。

算法

  • 步骤 1 − 导入 fmt 包。

  • 步骤 2 − 开始函数 main ()

  • 步骤 3 − 声明并初始化变量。

  • 步骤 4 − 使用 for 循环分析条件。

  • 步骤 5 − 使用 fmt.Printf () 打印结果。

示例

// GOLANG PROGRAM TO CHECK FOR PALINDROME // fmt package allows us to print anything on the screen. package main import "fmt" // start the function main () func main() { fmt.Println("Golang program to check for palindrome") // declare the variables var number,rem,temporary int var reverse int = 0 // initialize the number variable number = 45454 temporary=number // For Loop used for{ rem = number%10 reverse = reverse*10 + rem number /= 10 if(number==0){ break // Break Statement used to exit from loop } } if(temporary==reverse){ fmt.Printf("Number %d is a Palindrome",temporary) }else{ fmt.Printf("Number %d is not a Palindrome",temporary) } // print the result using fmt.Printf () function }

输出

Golang program to check for palindrome
Number 26262 is a Palindrome

代码描述

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

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

  • 现在开始 main () 函数,此函数是可执行程序的入口点。它不接受任何参数也不返回任何值。

  • 声明四个整数变量。将 reverse 变量初始化为 0,将 number 变量初始化为您想要的值。

  • 使用 for 循环 − 条件在 if 语句中给出,停止执行由 break 语句说明。

  • 最后使用 fmt.Printf () 将结果打印到屏幕上,它根据格式说明符进行格式化并写入标准输出。

示例 2:Go 语言程序代码,使用两个独立函数检查字符串是否为数字

语法

for i, j:= range variable{
   // statement..
}

其中 I = 首个索引值,j = 最后一个索引值

i 和 j 是被称为迭代变量的变量,并已赋值。

范围表达式在循环开始之前评估一次。

算法

  • 步骤 1 − 导入 fmt 包。

  • 步骤 2 − 开始 main () 函数。

  • 步骤 3 − 声明并初始化字符串变量。

  • 步骤 4 − 调用 Palindrome () 函数。

  • 步骤 5 − 创建 Palindrome () 函数。

  • 步骤 6 − 使用 for 循环分析条件。

  • 步骤 7 − 使用 fmt.Printf () 打印结果。

示例

// GOLANG PROGRAM TO CHECK FOR PALINDROME // fmt package allows us to print anything on the screen. package main import "fmt" // start the function main () func main() { // declare and initialize the string str := "MADAM" fmt.Println("Golang program to check palindrome,\n Given Word =",str) // calling the function Palindrome(str) // print the result using fmt.Printf () function fmt.Printf("'%s' is palindrome\n", str) } func Palindrome(str string) bool { lastIdx := len(str) - 1 // using for loop for i := 0; i < lastIdx/2 && i < (lastIdx-i); i++ { if str[i] != str[lastIdx-i] { return false } } return true }

输出

Golang program to check palindrome,
Given Word = MADAM
'MADAM' is palindrome

代码描述

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

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

  • 现在开始 main () 函数,此函数是可执行程序的入口点。它不接受任何参数也不返回任何值。

  • 接下来,我们声明并初始化字符串变量以查找它是否为回文。

  • 然后我们调用 Palindrome() 函数(我们稍后在函数中创建),以检查给定的字符串是否为回文。

  • 在上面的函数中,我们使用 for 循环来分析代码的条件,其中 i = 首个索引,变量 lastIdx 将是最后一个索引。我们按预期从 i=0 开始 for 循环,并遍历字符串。这样做时,我们设置另一个变量 lastIdx =len(str)-1。

  • 如果字符串 i 不等于字符串 lastIdx – i,则返回 false,否则返回 true,表示字符串是回文。

  • 最后,使用 fmt.Printf () 函数打印结果,该函数根据格式说明符进行格式化并写入标准输出,说明给定的字符串是否是回文。

结论

在以上两个示例中,我们已成功编译并执行了 Go 语言程序代码以检查回文。

在第一个示例中,我们展示了如何使用单个函数来判断给定的数字是否为回文。

在第二个示例中,我们展示了如何判断给定的字符串是否为回文。

我们在两个示例中都使用了 for 循环。我们在示例 1 中使用了简单的 for 循环,在示例 2 中使用了简单的范围 for 循环。

更新于:2022年11月16日

4K+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告