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 循环。