How to shuffle the array elements in Golang 1.20
In this video we are going to generate source code for the GoLang Program, How to shuffle the array elements using chatGPT.
After generating we will verify and run the generated code.
IMPORTANT NOTE on SOURCE CODE: only source code that are acceptable by the youtube description box will be displayed.
In this program I have replaced the angled brackets with > or <. once you copy the source code to editor replace it with greater than or less than symbols respectively.
##############SOURCE CODE#########################
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() {
// create an array of integers
array := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
// shuffle the array
shuffleArray(array)
// print the shuffled array
fmt.Println(array)
}
##############END OF SOURCE CODE#########################
Below is the explanation for the program:
This program first defines a function called shuffleArray that takes an array of integers as an argument and shuffles its elements using the Fisher-Yates shuffle algorithm.
The shuffleArray function first sets the random seed based on the current time using the rand.Seed and time.Now functions.
It then iterates over the array from the end to the beginning and for each element, generates a random index between 0 and the current index using the rand.Intn function, and swaps the element at the current index with the element at the randomly chosen index using multiple assignment.
The main function creates an array of integers, calls the shuffleArray function to shuffle the array, and then prints the shuffled array using the fmt.Println function.
#go #goprogramming #golang #golangtutorial #golanguage