Golang程序 检查数字和字符串的回文

Golang程序 检查数字和字符串的回文

在本教程中,我们将学习如何在Go编程语言中检查宫格。我们将在不同的例子中检查数字和字符串的回文。

回文是指一个单词、数字、短语或其他符号序列,其倒着读和正着读是一样的,比如单词civic或radar或数字22\2\22或句子 “猫头鹰先生吃了我的金属虫”。

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

语法

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() ,这个函数是可执行程序的入口。它不接受任何参数,也不返回任何东西。

  • 声明四个整数变量。将反向变量初始化为0,数字变量初始化为你想要的值。

  • 使用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开始for循环,并通过字符串递增。当我们这样做时,我们设置另一个变量lastIdx =len(str)-1。

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

  • 最后使用 fmt.Printf() 函数打印结果,该函数根据格式指定符进行格式化并写入标准输出。

结论

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

在第一个例子中,我们用一个函数显示了一个给定的数字是否是宫格。

在第二个例子中,我们展示了一个给定的字符串是否是宫格的。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程