How to Shuffle an Array in Go - Step by Step Examples
How to Shuffle an Array in Go ?
Answer
In Go, you can shuffle an array using the Fisher-Yates shuffle algorithm.
✐ Examples
1 Shuffle Array of Integers
In this example,
- We have an array named
intArray
containing integers. - We apply the Fisher-Yates shuffle algorithm to
intArray
. - We print the shuffled array to demonstrate the shuffling.
Go Program
package main
import (
"fmt"
"math/rand"
"time"
)
func shuffleArray(array []int) {
rand.Seed(time.Now().UnixNano())
for i := len(array) - 1; i > 0; i-- {
j := rand.Intn(i + 1)
array[i], array[j] = array[j], array[i]
}
}
func main() {
intArray := []int{1, 2, 3, 4, 5}
shuffleArray(intArray)
fmt.Println("Shuffled Array:", intArray)
}
Output
Shuffled Array: [3 1 4 5 2]
2 Shuffle Array of Strings
In this example,
- We have an array named
strArray
containing strings. - We apply the Fisher-Yates shuffle algorithm to
strArray
. - We print the shuffled array to demonstrate the shuffling.
Go Program
package main
import (
"fmt"
"math/rand"
"time"
)
func shuffleArray(array []string) {
rand.Seed(time.Now().UnixNano())
for i := len(array) - 1; i > 0; i-- {
j := rand.Intn(i + 1)
array[i], array[j] = array[j], array[i]
}
}
func main() {
strArray := []string{"apple", "banana", "cherry"}
shuffleArray(strArray)
fmt.Println("Shuffled Array:", strArray)
}
Output
Shuffled Array: [banana cherry apple]
Summary
In this tutorial, we learned How to Shuffle an Array in Go language with well detailed examples.
More Go Arrays Tutorials
- How to Declare an Array in Go ?
- How to Initialize an Array in Go ?
- How to Access Array Elements in Go ?
- How to Access Array Elements using Index in Go ?
- How to get First Element in Array in Go ?
- How to get Last Element in Array in Go ?
- How to check if an Array is Empty in Go ?
- How to check if an Array is Not Empty in Go ?
- How to get Sub Array in Go ?
- How to Get Array Length in Go ?
- How to Iterate Over an Array in Go ?
- How to Iterate Over an Array in Reverse Order in Go ?
- How to get the Index of Specified Element in an Array in Go ?
- How to check if Specified Element is present in the Array in Go ?
- How to count the Number of Occurrences of Specified Element in the Array in Go ?
- How to Sort an Array in Go ?
- How to Sort an Array in Ascending Order in Go ?
- How to Sort an Array in Descending Order in Go ?
- How to create a Two Dimensional Array in Go ?
- How to Iterate over a Two Dimensional Array in Go ?
- How to create a Three Dimensional Array in Go ?
- How to Copy an Array in Go ?
- How to Split an Array in Go ?
- How to Join Arrays in Go ?
- How to check if Two Arrays are Equal in Go ?
- How to check if Two Arrays have Same Elements (Regardless of Order) in Go ?
- How to Convert an Array of Integers to an Array of Strings in Go ?
- How to Convert an Array of Strings to an Array of Integers in Go ?
- How to Reverse an Array in Go ?
- How to Shuffle an Array in Go ?
- How to Rotate Elements in an Array in Go ?
- How to Filter Elements of an Array based on a Condition in Go ?
- How to Declare an Integer Array in Go ?
- How to Declare a Float Array in Go ?
- How to Declare a String Array in Go ?
- How to Remove Duplicates in an Array in Go ?
- How to Remove Specific Element from an Array in Go ?
- How to Remove Element from Array based on a Condition in Go ?
- How to Sort a String Array in Dictionary Order in Go ?
- How to Concatenate Strings in Array in Go ?