Go

从Go Slice中选取随机值

发布于 2021-02-01 11:08:04

情况:

我有一部分价值,需要从中挑选一个随机选择的价值。然后,我想用固定的字符串将其连接起来。到目前为止,这是我的代码:

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 )
}

题:

是否有内置功能可以通过“ 随机选择 ”部分来帮助我?

关注者
0
被浏览
837
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    使用功能,Intnrand包中选择一个随机指数。

    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))])
    

    其他解决方案是使用Rand对象。

    s := rand.NewSource(time.Now().Unix())
    r := rand.New(s) // initialize local pseudorandom generator 
    r.Intn(len(reasons))
    


推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看