Golang: Random Number

By Xah Lee. Date: .

import "math/rand"

rand.Intn(n) → returns a pseudo random from 0 to n-1, inclusive.

The result is always the same each time you run the program.

package main

import "fmt"
import "math/rand"

func main() {
    for i := 0; i < 30; i++ {
        fmt.Printf("%v", rand.Intn(4))
    }
}

// 133312100023210231123202333023

Set Seed

If you want different result, set a seed.

rand.Seed(n)

package main

import "fmt"
import "math/rand"

func main() {
    rand.Seed(21832)
    for i := 0; i < 30; i++ {
        fmt.Printf("%v", rand.Intn(4))
    }
}

// 003023021103222332330200312311

Random Real Number

For random real number and others, see

https://golang.org/pkg/math/rand/

Cryptography Random Number

For random number that's less predictable, use the package “crypto/rand”

https://golang.org/pkg/crypto/rand/

Reference

https://golang.org/pkg/math/rand/

If you have a question, put $5 at patreon and message me.

Golang

  1. Compile, Run
  2. Package, Import
  3. Comment
  4. Print
  5. String
  6. Rune
  7. Variable
  8. Zero Value
  9. Constant
  10. If Then Else
  11. Switch/Case
  12. Loop
  13. Basic Types
  14. Array
  15. Slice
  16. Map
  17. Struct
  18. Function
  19. regexp
  20. Read File
  21. Write to File
  22. Walk Dir
  23. Check File Exist
  24. System Call
  25. Pointer
  26. Defer
  27. Random Number

Examples

  1. Validate Links
  2. Generate Sitemap

Reference

  1. Go Spec