Go Palindrome Number Program

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")
}
}
}```