golang rand 输出随机数字
时间: 2023-08-05 10:25:20 浏览: 53
在 Golang 中,可以使用 `math/rand` 包来生成随机数。具体步骤如下:
1. 通过 `rand.Seed()` 函数设置种子值,以确保每次程序运行时生成的随机数序列都不同。可以使用当前时间戳或者其他随机值作为种子。
2. 使用 `rand.Intn(n)` 函数生成一个小于 n 的随机整数。例如,要生成 0 到 9 之间的随机整数,可以使用 `rand.Intn(10)` 函数。
下面是一个简单的示例程序,用于生成 0 到 9 之间的随机整数:
```go
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 设置种子值
rand.Seed(time.Now().UnixNano())
// 生成随机数
num := rand.Intn(10)
// 输出结果
fmt.Println(num)
}
```
注意,如果不设置种子值,每次运行程序生成的随机数序列都是一样的。因此,一定要设置种子值,以确保生成的随机数是真正的随机数。
相关问题
golang生成随机字符串
在 Golang 中,可以使用以下代码生成随机字符串:
```go
package main
import (
"math/rand"
"time"
)
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
func generateRandomString(length int) string {
rand.Seed(time.Now().UnixNano())
b := make([]byte, length)
for i := range b {
b[i] = charset[rand.Intn(len(charset))]
}
return string(b)
}
func main() {
randomString := generateRandomString(10)
println(randomString)
}
```
在上面的代码中,`generateRandomString` 函数使用 `rand.Intn` 函数从字符集 `charset` 中随机选择字符,然后将字符拼接成字符串并返回。`rand.Seed(time.Now().UnixNano())` 用于设置随机数种子,确保每次运行程序时生成的随机字符串都不同。
运行上述代码会生成一个长度为 10 的随机字符串并打印出来。你可以根据需要修改 `length` 参数来生成不同长度的随机字符串。
golang在30000到40000之间随机生成数字
好的,让我来回答您的问题。要在30000到40000之间随机生成数字,您可以使用golang中的rand包和rand.Intn()函数。代码如下:
```
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 设置随机数种子
rand.Seed(time.Now().UnixNano())
// 随机生成30000到40000之间的数
num := rand.Intn(40000-30000) + 30000
fmt.Println(num)
}
```
请注意,我们在使用rand包生成随机数时需要设置种子。这里使用time.Now().UnixNano()设置种子,确保每次生成不同的随机数。同时,我们使用rand.Intn()函数生成[0, 10000)范围内的随机数,并将其加上30000,得到30000到40000之间的随机数。
希望我的回答对您有所帮助!