情况:
我有一些值,需要从中随机选择一个值.然后我想用固定的字符串连接它.到目前为止这是我的代码:
func main() {
//create the reasons slice and append reasons to it
reasons := make([]string, 0)
reasons = append(reasons,
"Locked out",
"Pipes broke",
"Food poisoning",
"Not feeling well")
message := fmt.Sprint("Gonna work from home...", pick a random reason )
}
Run Code Online (Sandbox Code Playgroud)
题:
是否有内置功能,可以通过" 选择随机原因 "部分帮助我?
Grz*_*Żur 71
使用功能,Intn从rand包中选择一个随机指数.
import (
"math/rand"
"time"
)
// ...
rand.Seed(time.Now().Unix()) // initialize global pseudo random generator
message := fmt.Sprint("Gonna work from home...", reasons[rand.Intn(len(reasons))])
Run Code Online (Sandbox Code Playgroud)
其他解决方案是使用Rand对象.
s := rand.NewSource(time.Now().Unix())
r := rand.New(s) // initialize local pseudorandom generator
r.Intn(len(reasons))
Run Code Online (Sandbox Code Playgroud)
Ain*_*r-G 17
只需选择一个随机整数mod切片长度:
rand.Seed(time.Now().Unix())
reasons := []string{
"Locked out",
"Pipes broke",
"Food poisoning",
"Not feeling well",
}
n := rand.Int() % len(reasons)
fmt.Print("Gonna work from home...", reasons[n])
Run Code Online (Sandbox Code Playgroud)
游乐场:http://play.golang.org/p/fEHElLJrEZ.(注意推荐rand.Seed.)
| 归档时间: |
|
| 查看次数: |
31318 次 |
| 最近记录: |