Go Program to Reverse an Array

Write a Go program to reverse an array using for loop. This Go example reverses an array using the for loop (for i = actsize – 1; i >= 0; i–) that iterates from the last array item to the first element. Within the for loop (revArr[j] = actArr[i]), we assign each item to revArr and incrementing the revArr index value.

package main

import "fmt"

func main() {
    var actsize, i, j int

    fmt.Print("Enter the Even Array Size = ")
    fmt.Scan(&actsize)

    actArr := make([]int, actsize)
    revArr := make([]int, actsize)

    fmt.Print("Enter the Even Array Items  = ")
    for i = 0; i < actsize; i++ {
        fmt.Scan(&actArr[i])
    }
    j = 0
    for i = actsize - 1; i >= 0; i-- {
        revArr[j] = actArr[i]
        j++
    }

    fmt.Println("\nThe Result of a Reverse Array = ", revArr)
}
Enter the Even Array Size = 3
Enter the Even Array Items  = 10 20 30

The Result of a Reverse Array =  [30 20 10]

Go Program to Reverse the Array Items using Functions

package main

import "fmt"

func reverseArray(actArr []int, actsize int) {
    revArr := make([]int, actsize)
    j := 0
    for i := actsize - 1; i >= 0; i-- {
        revArr[j] = actArr[i]
        j++
    }

    fmt.Println("\nThe Result of a Reverse Array = ", revArr)
}
func main() {
    var actsize, i int

    fmt.Print("Enter the Even Array Size = ")
    fmt.Scan(&actsize)

    actArr := make([]int, actsize)

    fmt.Print("Enter the Even Array Items  = ")
    for i = 0; i < actsize; i++ {
        fmt.Scan(&actArr[i])
    }

    reverseArray(actArr, actsize)
}
Enter the Even Array Size = 5
Enter the Even Array Items  = 25 55 75 95 125

The Result of a Reverse Array =  [125 95 75 55 25]

In this Golang program, we created a recursive function (func reverseArray(actArr, start, end)) to reverse the given array.

package main

import "fmt"

func reverseArray(actArr []int, start int, end int) {
    var temp int
    if start < end {
        temp = actArr[start]
        actArr[start] = actArr[end]
        actArr[end] = temp
        reverseArray(actArr, start+1, end-1)
    }
}
func main() {
    var actsize, i int

    fmt.Print("Enter the Even Array Size = ")
    fmt.Scan(&actsize)

    actArr := make([]int, actsize)

    fmt.Print("Enter the Even Array Items  = ")
    for i = 0; i < actsize; i++ {
        fmt.Scan(&actArr[i])
    }

    reverseArray(actArr, 0, actsize-1)
    fmt.Println("\nThe Result of a Reverse Array = ", actArr)
}
Go Program to Reverse an Array 3

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.