Golang math/rand.Seed() function example

package math/rand

Golang math/rand.Seed() function usage example

 package main

 import (
  "fmt"
  "math/rand"
  "time"
 )

 func shuffle(arr []int) {
  t := time.Now()
  rand.Seed(int64(t.Nanosecond())) // no shuffling without Seed

  for i := len(arr) - 1; i > 0; i-- {
 j := rand.Intn(i)
 arr[i], arr[j] = arr[j], arr[i]
  }
 }

 func main() {

  //list := rand.Perm(25)
  list := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
  fmt.Printf("Original : %v\n", list)

  shuffledList := list

  shuffle(shuffledList)
  fmt.Printf("Shuffled : %v\n", shuffledList)

 }

References :

http://golang.org/pkg/math/rand/#Seed

https://www.socketloop.com/tutorials/golang-how-to-shuffle-elements-in-array-or-slice

Advertisement