go 洗牌算法实现(打乱数组元素)


 

直接使用go官方提供的rand.Shuffle方法,需要注意随机种子的使用。

package main import ( "fmt"
    "math/rand"
    "time" ) 
func main() { var arr = []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} rand.Seed(time.Now().UnixNano()) // 注意,这行重要,为了使每次洗牌的结果不一样,需要用不同的随机种子,我们这里用精确到微秒的时间戳 rand.Shuffle(len(arr), func(i, j int) { arr[i], arr[j] = arr[j], arr[i] }) fmt.Println(arr) }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM