From be7f09c8e8cae1e0cdc2f0c38eef75a2b086dd80 Mon Sep 17 00:00:00 2001 From: Mark McGranaghan Date: Wed, 31 Oct 2012 09:31:02 -0700 Subject: [PATCH] publish random-numbers --- examples.txt | 2 +- examples/random-numbers/random-numbers.go | 17 +++++++++++++---- examples/random-numbers/random-numbers.sh | 8 +++++++- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/examples.txt b/examples.txt index 8582939..df9a207 100644 --- a/examples.txt +++ b/examples.txt @@ -52,7 +52,7 @@ Regular Expressions Time Epoch # Time Parsing / Formatting -# Random Numbers +Random Numbers Number Parsing URL Parsing SHA1 Hashes diff --git a/examples/random-numbers/random-numbers.go b/examples/random-numbers/random-numbers.go index fab3adb..01ea0fe 100644 --- a/examples/random-numbers/random-numbers.go +++ b/examples/random-numbers/random-numbers.go @@ -1,11 +1,14 @@ +// Go's `math/rand` package provides +// [pseudorandom number](http://en.wikipedia.org/wiki/Pseudorandom_number_generator) +// generation. + package main -// The `math/rand` package provides psuedo-random -// numbers. -import "math/rand" import "fmt" +import "math/rand" func main() { + // For example, `rand.Intn` returns a random `int` n, // `0 <= n < 100`. fmt.Print(rand.Intn(100), ",") @@ -16,7 +19,13 @@ func main() { // `0.0 <= f < 1.0`. fmt.Println(rand.Float64()) - // To make the psuedo-random generator deterministic, + // This can be used to generate random floats in + // other ranges, for example `5.0 <= f' < 10.0`. + fmt.Print((rand.Float64()*5)+5, ",") + fmt.Print((rand.Float64() * 5) + 5) + fmt.Println() + + // To make the pseudorandom generator deterministic, // give it a well-known seed. s1 := rand.NewSource(42) r1 := rand.New(s1) diff --git a/examples/random-numbers/random-numbers.sh b/examples/random-numbers/random-numbers.sh index 0751104..92e6f35 100644 --- a/examples/random-numbers/random-numbers.sh +++ b/examples/random-numbers/random-numbers.sh @@ -1,5 +1,11 @@ -$ go run random-numbers.go +$ go run random-numbers.go 81,87 0.6645600532184904 +7.123187485356329,8.434115364335547 5,87 5,87 + + +# See the [`math/rand`](http://golang.org/pkg/math/rand/) +# package docs for references on other random quantities +# that Go can provide.