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. Source Encoding
  3. Package, Import
  4. Comment
  5. Print
  6. String
  7. Rune
  8. String as Chars
  9. Variable
  10. Zero Value
  11. Constant
  12. If Then Else
  13. Switch/Case
  14. Loop
  15. Basic Types
  16. Array
  17. Slice
  18. Map
  19. Struct
  20. Function
  21. regexp
  22. Read File
  23. Write to File
  24. Walk Dir
  25. Check File Exist
  26. System Call
  27. Get Script Path
  28. Pointer
  29. Defer
  30. Random Number

Examples

  1. match any regexp
  2. Validate Links
  3. Generate Sitemap

Reference

  1. Go Spec