登录
首页 >  Golang >  Go问答

Go中的随机数组

来源:Golang技术栈

时间:2023-04-07 16:42:35 416浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Go中的随机数组》,主要介绍了golang,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我试图将以下 Python 代码翻译成 Go

import random

list = [i for i in range(1, 25)]
random.shuffle(list)
print(list)

但发现我的 Go 版本冗长而尴尬,因为没有 shuffle 功能,我必须实现接口和转换类型。

我的代码的惯用 Go 版本是什么?

正确答案

由于您的列表只是从 1 到 25 的整数,您可以使用Perm

list := rand.Perm(25)
for i, _ := range list {
    list[i]++
}

请注意,使用 给出的排列rand.Perm是对任何数组进行洗牌的有效方法。

dest := make([]int, len(src))
perm := rand.Perm(len(src))
for i, v := range perm {
    dest[v] = src[i]
}

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Go中的随机数组》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>