新手区最新随笔(rss)

How to shuffle arrays and slices in Go

原文在此

由于
Go没有为slice提供shuffle函数,所以需要自己想办法。由于我只需要随机一次遍历1 -> N,所以这段code最匹配。
func main() {
  vals := []int{10, 12, 14, 16, 18, 20}
  r := rand.New(rand.NewSource(time.Now().Unix()))
  for _, i := range r.Perm(len(vals)) {
    val := vals[i]
    fmt.Println(val)
  }
}

似乎go不像scala有那种惰性求值的特性,所以这里的r.Perm()还是产生了一个slice,如果N很大可能是个问题。



2019-01-17 20:27 作者: wythern【评论:0】【阅读:1】 

unity 如何操作摄像机

     摘要:   阅读全文

2018-12-19 14:18 作者: AlanTop【评论:0】【阅读:34】 

技 术 改 变 世 界

网站分类

统计信息

聚合

Blog客户端API

推荐客户端

博客排行榜[前32人]