在 Go 语言中,生成随机整数可以使用 math/rand 包。以下是生成随机整数的几种常见方法:

  1. 生成一个指定范围内的随机整数: “`go package main

import (

   "fmt"
   "math/rand"
   "time"

)

func main() {

   // 初始化随机数生成器
   rand.Seed(time.Now().UnixNano())

   // 生成一个 [min, max] 范围内的随机整数
   min := 1
   max := 10
   randomInt := rand.Intn(max-min) + min
   fmt.Println(randomInt)

}


2. **生成一个随机整数数组**:
   ```go
   package main

   import (
       "fmt"
       "math/rand"
       "time"
   )

   func main() {
       rand.Seed(time.Now().UnixNano())

       numbers := make([]int, 10) // 创建一个长度为10的整数数组
       for i := range numbers {
           numbers[i] = rand.Intn(100) // 假设我们想要生成0到99之间的随机数
       }

       fmt.Println(numbers)
   }
  1. 生成一个随机布尔值: “`go package main

import (

   "fmt"
   "math/rand"
   "time"

)

func main() {

   rand.Seed(time.Now().UnixNano())

   randomBool := rand.Intn(2) == 1 // 生成一个随机的布尔值,1为true,0为false
   fmt.Println(randomBool)

}


4. **生成一个随机浮点数**:
   ```go
   package main

   import (
       "fmt"
       "math/rand"
       "time"
   )

   func main() {
       rand.Seed(time.Now().UnixNano())

       randomFloat := rand.Float64() // 生成一个[0.0, 1.0)范围内的随机浮点数
       fmt.Println(randomFloat)
   }

记住,每次调用 rand.Intn(n) 都会生成一个 [0, n) 范围内的随机整数。为了确保每次程序运行时生成的随机数不同,需要使用 rand.Seed() 函数初始化随机数生成器,通常使用当前时间的纳秒值作为种子。

如果你需要更高质量的随机数,可以考虑使用 crypto/rand 包,它提供了加密安全的随机数生成器。