mirror of
https://github.com/jbranchaud/til
synced 2026-01-05 08:08:02 +00:00
Correct random to pseudo-random. Add information.
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
# Not So Random
|
# Not So Random
|
||||||
|
|
||||||
Go's `rand` package makes it easy to generate all sorts of random numbers.
|
Go's `rand` package makes it easy to generate all sorts of pseudo-random numbers.
|
||||||
What they don't tell you though is that the default seed is `1`. So if you
|
|
||||||
write a program like so:
|
What they don't tell you though is that the default seed is `1`. They [do tell you that the numbers are pseud-random and that you need to use the Seed function to initialize the default source if different behavior is required for each run](https://golang.org/pkg/math/rand/), though. So if you write a program like so:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
package main
|
package main
|
||||||
@@ -35,7 +35,7 @@ seed it yourself, perhaps with the current time, instead of `1`. Try adding
|
|||||||
the following to the beginning of the `main` function:
|
the following to the beginning of the `main` function:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
rand.Seed( time.Now().UTC().UnixNano())
|
rand.Seed(time.Now().UTC().UnixNano())
|
||||||
```
|
```
|
||||||
|
|
||||||
You'll also want to import the `time` package.
|
You'll also want to import the `time` package.
|
||||||
|
|||||||
Reference in New Issue
Block a user