Golang : Shuffle strings array
Okay, the previous tutorial on how to shuffle elements inside an array does not work with strings array. To shuffle array with strings, use this code example instead.
package main
import (
"fmt"
"math/rand"
"time"
)
func shuffle(src []string) []string {
final := make([]string, len(src))
rand.Seed(time.Now().UTC().UnixNano())
perm := rand.Perm(len(src))
for i, v := range perm {
final[v] = src[i]
}
return final
}
func main() {
str := []string{
"first",
"second",
"third",
}
shuffled := shuffle(str)
fmt.Printf("Original order : %v\n", str)
fmt.Printf("Shuffled order : %v\n", shuffled)
}
Sample output :
Original order : [first second third]
Shuffled order : [second third first]
See also : Golang : How to shuffle elements in array or slice?
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
+13.6k Golang : How to get year, month and day?
+6.5k Golang : How to search a list of records or data structures
+17.6k Golang : Multi threading or run two processes or more example
+24.2k Golang : Upload to S3 with official aws-sdk-go package
+12.1k Golang : Determine if time variables have same calendar day
+11.7k Golang : Surveillance with web camera and OpenCV
+5.7k Swift : Get substring with rangeOfString() function example
+25.4k Golang : Storing cookies in http.CookieJar example
+7.6k Golang : Shuffle strings array
+20k Golang : Count JSON objects and convert to slice/array
+11.4k Golang : Intercept and process UNIX signals example
+10.2k Golang : Test a slice of integers for odd and even numbers