反向int golang

How to change 12345 to 54321? With a string, you can change the string to a rune, and reverse it, but you cannot do the same for an integer. I have searched and found no one talking about this. Examples
131415 >>> 514131
1357 >>> 7531
123a >>> ERROR
-EDIT-
I was thinking, why not create a slice and index that?
Then I realized that you can't index int
(http://play.golang.org/p/SUSg04tZsc)
MY NEW QUESTION IS
How do you index an int? OR
How do you reverse a int?

Here is a solution that does not use indexing an int

package main

import (
    "fmt"
)

func reverse_int(n int) int {
    new_int := 0
    for n > 0 {
        remainder := n % 10
        new_int *= 10
        new_int += remainder 
        n /= 10
    }
    return new_int 
}

func main() {
    fmt.Println(reverse_int(123456))
    fmt.Println(reverse_int(100))
    fmt.Println(reverse_int(1001))
    fmt.Println(reverse_int(131415))
    fmt.Println(reverse_int(1357))
}

Result:

654321
1
1001
514131
7531

Go playground

I converted the integer to a string, reverse the string, and convert the result back to a string.

package main

import (
    "fmt"
    "strconv"
)

func main() {

    fmt.Println(reverse_int(123456))
        fmt.Println(reverse_int(100))
        fmt.Println(reverse_int(1001))
        fmt.Println(reverse_int(131415))
        fmt.Println(reverse_int(1357))

}

func reverse_int(value int) int {

    intString := strconv.Itoa(value)

    newString := ""

    for x := len(intString); x > 0; x-- {
        newString += string(intString[x - 1])
    }

    newInt, err := strconv.Atoi(newString)

    if(err != nil){
        fmt.Println("Error converting string to int")
    }

    return newInt
}

Very similar to the first answer but this checks to make sure you don't go out of bounds on the type.

func reverse(x int) int {    
    rev := 0
    for x != 0 {
        pop := x % 10
        x /=  10
        if rev > math.MaxInt32/10 || (rev == math.MaxInt32 /10 && pop > 7) {
            return 0
        }
        if rev < math.MinInt32/10 || (rev == math.MinInt32/10 && pop < -8) {
            return 0
        }
        rev = rev * 10 + pop
    }

    return rev
}