A number can be palindrome if it remains the same when we reverse it. For instance, 242 is a palindrome number. This program uses for loop to check whether the given number is palindrome or not.
First, we used for loop (for temp := palNum; temp > 0; temp = temp / 10) to reverse the given number. Next, we used the If else statement (if palNum == reverse) to check whether the reverse number equals a given number. If True, it is a palindrome; otherwise, not a palindrome number.
package main import "fmt" func main() { var palNum, remainder int fmt.Print("Enter the Number to check Palindrome = ") fmt.Scanln(&palNum) reverse := 0 for temp := palNum; temp > 0; temp = temp / 10 { remainder = temp % 10 reverse = reverse*10 + remainder } fmt.Println("The Reverse of the Given Number = ", reverse) if palNum == reverse { fmt.Println(palNum, " is a Palindrome Number") } else { fmt.Println(palNum, " is Not a Palindrome Number") } }
SureshMac:GoExamples suresh$ go run palindrome1.go
Enter the Number to check Palindrome = 191
The Reverse of the Given Number = 191
191 is a Palindrome Number
SureshMac:GoExamples suresh$ go run palindrome1.go
Enter the Number to check Palindrome = 125
The Reverse of the Given Number = 521
125 is Not a Palindrome Number
Go Program to Check Palindrome Number using Functions
package main import "fmt" var reverse int = 0 func revNumber(palNum int) int { var remainder int for ; palNum > 0; palNum = palNum / 10 { remainder = palNum % 10 reverse = reverse*10 + remainder } return reverse } func main() { var palNum int fmt.Print("Enter the Number to check Palindrome = ") fmt.Scanln(&palNum) reverse = revNumber(palNum) fmt.Println("The Reverse of the Given Number = ", reverse) if palNum == reverse { fmt.Println(palNum, " is a Palindrome Number") } else { fmt.Println(palNum, " is Not a Palindrome Number") } }
SureshMac:GoExamples suresh$ go run palindrome2.go
Enter the Number to check Palindrome = 1331
The Reverse of the Given Number = 1331
1331 is a Palindrome Number
SureshMac:GoExamples suresh$ go run palindrome2.go
Enter the Number to check Palindrome = 2112
The Reverse of the Given Number = 2112
2112 is a Palindrome Number
In this Golang example, we declared a recursive function to find the palindrome number.
package main import "fmt" var reverse int = 0 func revNumber(palNum int) int { var remainder int if palNum > 0 { remainder = palNum % 10 reverse = reverse*10 + remainder revNumber(palNum / 10) return reverse } else { return 0 } } func main() { var palNum int fmt.Print("Enter the Number to check Palindrome = ") fmt.Scanln(&palNum) reverse = revNumber(palNum) fmt.Println("The Reverse of the Given Number = ", reverse) if palNum == reverse { fmt.Println(palNum, " is a Palindrome Number") } else { fmt.Println(palNum, " is Not a Palindrome Number") } }
Enter the Number to check Palindrome = 121
The Reverse of the Given Number = 121
121 is a Palindrome Number
This example will print the Palindrome numbers between the minimum and maximum limit values.
package main import "fmt" func main() { var palNum, temp, reverse, palMin, palMax, remainder int fmt.Print("Enter the Minimum and Maximum limit of Palindrome = ") fmt.Scanln(&palMin, &palMax) fmt.Print("Palindrome Numbers between ", palMin, " and ", palMax, " are : ") for palNum = palMin; palNum <= palMax; palNum++ { reverse = 0 for temp = palNum; temp > 0; temp = temp / 10 { remainder = temp % 10 reverse = reverse*10 + remainder } if palNum == reverse { fmt.Print(palNum, "\t") } } }
