From f60da41f5b74d687a480daac2212de48c9aec523 Mon Sep 17 00:00:00 2001
From: Richo Healey
Date: Fri, 24 Jul 2015 13:27:48 -0700
Subject: [PATCH] Update the random examples
---
examples/random-numbers/random-numbers.go | 10 +++++++---
examples/random-numbers/random-numbers.hash | 4 ++--
examples/random-numbers/random-numbers.sh | 2 +-
public/random-numbers | 16 ++++++++++------
4 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/examples/random-numbers/random-numbers.go b/examples/random-numbers/random-numbers.go
index d12c72e..f46c27a 100644
--- a/examples/random-numbers/random-numbers.go
+++ b/examples/random-numbers/random-numbers.go
@@ -4,6 +4,7 @@
package main
+import "time"
import "fmt"
import "math/rand"
@@ -25,9 +26,12 @@ func main() {
fmt.Print((rand.Float64() * 5) + 5)
fmt.Println()
- // To make the pseudorandom generator deterministic,
- // give it a well-known seed.
- s1 := rand.NewSource(42)
+ // The default number generator is deterministic, so it'll
+ // produce the same sequence of numbers each time by default.
+ // To produce varying sequences, give it a seed that changes.
+ // Note that this is not safe to use for random numbers you
+ // intend to be secret, use `crypto/rand` for those.
+ s1 := rand.NewSource(time.Now().UnixNano())
r1 := rand.New(s1)
// Call the resulting `rand.Rand` just like the
diff --git a/examples/random-numbers/random-numbers.hash b/examples/random-numbers/random-numbers.hash
index 85b60de..e68f800 100644
--- a/examples/random-numbers/random-numbers.hash
+++ b/examples/random-numbers/random-numbers.hash
@@ -1,2 +1,2 @@
-f7ce9724ab51b3e90b8d04cf88eaaa8cf2dfd50e
-X973CNW5aa
+6ce1f98d3c22ee8bf02c41b393361d6cd5fff23a
+TZElZIwNU1
diff --git a/examples/random-numbers/random-numbers.sh b/examples/random-numbers/random-numbers.sh
index 92e6f35..2f9521e 100644
--- a/examples/random-numbers/random-numbers.sh
+++ b/examples/random-numbers/random-numbers.sh
@@ -1,4 +1,4 @@
-$ go run random-numbers.go
+$ go run random-numbers.go
81,87
0.6645600532184904
7.123187485356329,8.434115364335547
diff --git a/public/random-numbers b/public/random-numbers
index e12081c..1221235 100644
--- a/public/random-numbers
+++ b/public/random-numbers
@@ -41,7 +41,7 @@ generation.
-
+
@@ -54,7 +54,8 @@ generation.
|
- import "fmt"
+ import "time"
+import "fmt"
import "math/rand"
@@ -121,13 +122,16 @@ other ranges, for example 5.0 <= f' < 10.0 .
- To make the pseudorandom generator deterministic,
-give it a well-known seed.
+ The default number generator is deterministic, so it’ll
+produce the same sequence of numbers each time by default.
+To make it non-deterministic, give it a seed that changes.
+Note that this is not safe to use for random numbers you
+intend to be secret, use crypto/rand for those.
|
- s1 := rand.NewSource(42)
+ s1 := rand.NewSource(time.Now().UnixNano())
r1 := rand.New(s1)
@@ -179,7 +183,7 @@ produces the same sequence of random numbers.
|
- $ go run random-numbers.go
+ $ go run random-numbers.go
81,87
0.6645600532184904
7.123187485356329,8.434115364335547
| |