Go Tutorials

Go Programs

How to Rotate Elements in an Array in Go


How to Rotate Elements in an Array in Go ?

Answer

To rotate elements in an array using Go, you can implement a custom rotation function that shifts elements by a specified number of positions.



✐ Examples

1 Rotate Array of Integers

In this example,

  1. We have an array named intArray containing integers.
  2. We implement a custom rotate function that shifts elements by a specified number of positions.
  3. We print the rotated array to demonstrate the rotation.

Go Program

package main
import (
    "fmt"
)

func rotateArray(array []int, positions int) []int {
    n := len(array)
    positions %= n
    reverseArray(array, 0, n-1)
    reverseArray(array, 0, positions-1)
    reverseArray(array, positions, n-1)
    return array
}

func reverseArray(array []int, start int, end int) {
    for start < end {
        array[start], array[end] = array[end], array[start]
        start++
        end--
    }
}

func main() {
    intArray := []int{1, 2, 3, 4, 5}
    fmt.Println("Rotated Array:", rotateArray(intArray, 2))
}

Output

Rotated Array: [4 5 1 2 3]

2 Rotate Array of Strings

In this example,

  1. We have an array named strArray containing strings.
  2. We implement a custom rotate function that shifts elements by a specified number of positions.
  3. We print the rotated array to demonstrate the rotation.

Go Program

package main
import (
    "fmt"
)

func rotateArray(array []string, positions int) []string {
    n := len(array)
    positions %= n
    reverseArray(array, 0, n-1)
    reverseArray(array, 0, positions-1)
    reverseArray(array, positions, n-1)
    return array
}

func reverseArray(array []string, start int, end int) {
    for start < end {
        array[start], array[end] = array[end], array[start]
        start++
        end--
    }
}

func main() {
    strArray := []string{"apple", "banana", "cherry", "date", "fig"}
    fmt.Println("Rotated Array:", rotateArray(strArray, 3))
}

Output

Rotated Array: [cherry date fig apple banana]

Summary

In this tutorial, we learned How to Rotate Elements in an Array in Go language with well detailed examples.




More Go Arrays Tutorials

  1. How to Declare an Array in Go ?
  2. How to Initialize an Array in Go ?
  3. How to Access Array Elements in Go ?
  4. How to Access Array Elements using Index in Go ?
  5. How to get First Element in Array in Go ?
  6. How to get Last Element in Array in Go ?
  7. How to check if an Array is Empty in Go ?
  8. How to check if an Array is Not Empty in Go ?
  9. How to get Sub Array in Go ?
  10. How to Get Array Length in Go ?
  11. How to Iterate Over an Array in Go ?
  12. How to Iterate Over an Array in Reverse Order in Go ?
  13. How to get the Index of Specified Element in an Array in Go ?
  14. How to check if Specified Element is present in the Array in Go ?
  15. How to count the Number of Occurrences of Specified Element in the Array in Go ?
  16. How to Sort an Array in Go ?
  17. How to Sort an Array in Ascending Order in Go ?
  18. How to Sort an Array in Descending Order in Go ?
  19. How to create a Two Dimensional Array in Go ?
  20. How to Iterate over a Two Dimensional Array in Go ?
  21. How to create a Three Dimensional Array in Go ?
  22. How to Copy an Array in Go ?
  23. How to Split an Array in Go ?
  24. How to Join Arrays in Go ?
  25. How to check if Two Arrays are Equal in Go ?
  26. How to check if Two Arrays have Same Elements (Regardless of Order) in Go ?
  27. How to Convert an Array of Integers to an Array of Strings in Go ?
  28. How to Convert an Array of Strings to an Array of Integers in Go ?
  29. How to Reverse an Array in Go ?
  30. How to Shuffle an Array in Go ?
  31. How to Rotate Elements in an Array in Go ?
  32. How to Filter Elements of an Array based on a Condition in Go ?
  33. How to Declare an Integer Array in Go ?
  34. How to Declare a Float Array in Go ?
  35. How to Declare a String Array in Go ?
  36. How to Remove Duplicates in an Array in Go ?
  37. How to Remove Specific Element from an Array in Go ?
  38. How to Remove Element from Array based on a Condition in Go ?
  39. How to Sort a String Array in Dictionary Order in Go ?
  40. How to Concatenate Strings in Array in Go ?