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")
        }
    }
}
Golang Palindrome Number Program 4

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.