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循环中的简单范围。