Created
September 16, 2021 16:10
-
-
Save stevebaros/6fca61e98647613cb3d12f03d8d30c65 to your computer and use it in GitHub Desktop.
Calculate area of a circle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Go's `math/rand` package provides | |
// [pseudorandom number](http://en.wikipedia.org/wiki/Pseudorandom_number_generator) | |
// generation. | |
package main | |
import ( | |
"fmt" | |
"math/rand" | |
"time" | |
) | |
func main() { | |
// For example, `rand.Intn` returns a random `int` n, | |
// `0 <= n < 100`. | |
fmt.Print(rand.Intn(100), ",") | |
fmt.Print(rand.Intn(100)) | |
fmt.Println() | |
// `rand.Float64` returns a `float64` `f`, | |
// `0.0 <= f < 1.0`. | |
fmt.Println(rand.Float64()) | |
// 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() | |
// 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 | |
// functions on the `rand` package. | |
fmt.Print(r1.Intn(100), ",") | |
fmt.Print(r1.Intn(100)) | |
fmt.Println() | |
// If you seed a source with the same number, it | |
// produces the same sequence of random numbers. | |
s2 := rand.NewSource(42) | |
r2 := rand.New(s2) | |
fmt.Print(r2.Intn(100), ",") | |
fmt.Print(r2.Intn(100)) | |
fmt.Println() | |
s3 := rand.NewSource(42) | |
r3 := rand.New(s3) | |
fmt.Print(r3.Intn(100), ",") | |
fmt.Print(r3.Intn(100)) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment