欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang編程實現(xiàn)生成n個從a到b不重復(fù)隨機數(shù)的方法

 更新時間:2017年01月30日 11:17:07   作者:books1958  
這篇文章主要介紹了Golang編程實現(xiàn)生成n個從a到b不重復(fù)隨機數(shù)的方法,結(jié)合實例形式分析了Go語言字符串操作及隨機數(shù)生成的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Golang編程實現(xiàn)生成n個從a到b不重復(fù)隨機數(shù)的方法。分享給大家供大家參考,具體如下:

代碼很簡單:

復(fù)制代碼 代碼如下:
package test
import (
    "fmt"
    "math/rand"
    "time"
)
//生成若干個不重復(fù)的隨機數(shù)
func RandomTestBase() {
    //測試5次
    for i := 0; i < 5; i++ {
        nums := generateRandomNumber(10, 30, 10)
        fmt.Println(nums)
    }
}
//生成count個[start,end)結(jié)束的不重復(fù)的隨機數(shù)
func generateRandomNumber(start int, end int, count int) []int {
    //范圍檢查
    if end < start || (end-start) < count {
        return nil
    }
    //存放結(jié)果的slice
    nums := make([]int, 0)
    //隨機數(shù)生成器,加入時間戳保證每次生成的隨機數(shù)不一樣
    r := rand.New(rand.NewSource(time.Now().UnixNano()))
    for len(nums) < count {
        //生成隨機數(shù)
        num := r.Intn((end - start)) + start
        //查重
        exist := false
        for _, v := range nums {
            if v == num {
                exist = true
                break
            }
        }
        if !exist {
            nums = append(nums, num)
        }
    }
    return nums
}

輸出結(jié)果:

[12 20 18 19 21 28 15 13 11 10]
[28 15 12 10 20 18 16 24 27 17]
[25 28 29 19 21 12 16 13 11 15]
[27 20 19 23 18 13 21 24 12 26]
[19 10 27 18 28 12 22 14 16 26]

希望本文所述對大家Go語言程序設(shè)計有所幫助。

相關(guān)文章

  • Go語言中的復(fù)合類型詳細介紹

    Go語言中的復(fù)合類型詳細介紹

    這篇文章主要介紹了Go語言中的復(fù)合類型詳細介紹,復(fù)合類型包括:結(jié)構(gòu)體、數(shù)組、切片、Maps,需要的朋友可以參考下
    2014-10-10
  • 代碼整潔利器go?fmt命令使用詳解

    代碼整潔利器go?fmt命令使用詳解

    這篇文章主要為大家介紹了代碼整潔利器go?fmt命令使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • golang映射Map的方法步驟

    golang映射Map的方法步驟

    這篇文章主要介紹了golang映射Map的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 在Go中創(chuàng)建隨機的安全密碼

    在Go中創(chuàng)建隨機的安全密碼

    今天小編就為大家分享一篇關(guān)于在Go中創(chuàng)建隨機的安全密碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • golang 占位符和fmt常見輸出介紹

    golang 占位符和fmt常見輸出介紹

    這篇文章主要介紹了golang 占位符和fmt常見輸出介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • golang 字符串拼接性能的對比分析

    golang 字符串拼接性能的對比分析

    這篇文章主要介紹了golang 字符串拼接性能的對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang開發(fā)命令行之flag包的使用方法

    Golang開發(fā)命令行之flag包的使用方法

    這篇文章主要介紹Golang開發(fā)命令行及flag包的使用方法,日常命令行操作,相對應(yīng)的眾多命令行工具是提高生產(chǎn)力的必備工具,本文圍繞該內(nèi)容展開話題,需要的朋友可以參考一下
    2021-10-10
  • Golang實現(xiàn)Mongo數(shù)據(jù)庫增刪改查操作

    Golang實現(xiàn)Mongo數(shù)據(jù)庫增刪改查操作

    本文主要介紹了Golang實現(xiàn)Mongo數(shù)據(jù)庫增刪改查操作,我們使用了 MongoDB的官方Go驅(qū)動程序,實現(xiàn)了插入、查詢、更新和刪除操作,感興趣的可以了解一下
    2024-01-01
  • Go語言中字符串的查找方法小結(jié)

    Go語言中字符串的查找方法小結(jié)

    這篇文章主要介紹了Go語言中字符串的查找方法小結(jié),示例的main函數(shù)都是導(dǎo)入strings包然后使用其中的方法,需要的朋友可以參考下
    2015-10-10
  • go中利用reflect實現(xiàn)json序列化的示例代碼

    go中利用reflect實現(xiàn)json序列化的示例代碼

    和Java語言一樣,Go也實現(xiàn)運行時反射,這為我們提供一種可以在運行時操作任意類型對象的能力,本文給大家介紹了在go中如何利用reflect實現(xiàn)json序列化,需要的朋友可以參考下
    2024-03-03

最新評論