Golang : Shuffle array of list
Continue from previous tutorial on how to shuffle an array of strings, to shuffle array of list is not really straight forward, but it can be done easily with rand.Perm()
function. Use this code example to shuffle an array of list.
package main
import (
"fmt"
"math/rand"
"time"
)
func shuffleList(start, end int) []int {
if end < start {
start, end = end, start
}
length := end - start
rand.Seed(time.Now().UTC().UnixNano())
list := rand.Perm(length)
for index, _ := range list {
list[index] += start
}
return list
}
func main() {
mapList := make([]map[int]int, 3)
mapList[0] = map[int]int{1: 1}
mapList[1] = map[int]int{2: 2}
mapList[2] = map[int]int{3: 3}
shuffled := shuffleList(0, len(mapList))
fmt.Printf("Original order : %v\n", mapList)
fmt.Printf("Shuffled order : %v\n", shuffled)
}
Sample output :
Original order : [map[1:1] map[2:2] map[3:3]]
Shuffled order : [1 0 2]
See also : Golang : Shuffle strings array
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+25.3k Golang : Force your program to run with root permissions
+19.1k Golang : Pipe output from one os.Exec(shell command) to another command
+32.6k Golang : Proper way to set function argument default value
+8.7k Golang : List available AWS regions
+5.4k Golang : Convert an executable file into []byte example
+36k Golang : Read a text file and replace certain words
+14.8k Golang : Read integer from file into array
+6.7k Gogland : Where to put source code files in package directory for rookie
+11.1k Golang : calculate elapsed run time
+6.3k Android Studio : AlertDialog to get user attention example
+23.6k Golang : Get current file path of a file or executable
+4.8k Golang : Struct field tags and what is their purpose?