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