Golang 检查回文

Golang 检查回文

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

回文是一个单词、数字、短语或其他符号序列,无论从前还是从后阅读都是相同的,例如单词civic或radar,数字22\2\22或句子“Mr. Owl ate my metal worm”。

示例1:使用一个单一函数的Golang程序代码显示数字是否为回文数

语法

Syntax of For loop
Initialize
for condition {
}
incrementor

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

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

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

步骤

  • 步骤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:两个单独函数的Golang程序代码,用于检查字符串是否为数字

语法

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 开始递增遍历字符串。在这样做的过程中,我们设置另一个变量 lastIdx=len(str)-1。

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

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

结论

在上面的两个示例中,我们成功编译并执行了 Golang 程序来检查回文。

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

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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程