最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

代碼很簡單:

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

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

相關(guān)文章

  • golang中protobuf的使用詳解

    golang中protobuf的使用詳解

    protobuf是Google公司提出的一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)格式,常用于結(jié)構(gòu)化數(shù)據(jù)的序列化,具有語言無關(guān)、平臺(tái)無關(guān)、可擴(kuò)展性特性,常用于通訊協(xié)議、服務(wù)端數(shù)據(jù)交換場(chǎng)景,下面我們就來看看golang中protobuf的具體使用吧
    2023-10-10
  • 一文帶你深入探究Go語言中的sync.Map

    一文帶你深入探究Go語言中的sync.Map

    在?Go?語言中,有一個(gè)非常實(shí)用的并發(fā)安全的?Map?實(shí)現(xiàn):sync.Map,它是在?Go?1.9?版本中引入的。本文我們將深入探討?sync.Map?的基本原理,幫助讀者更好地理解并使用這個(gè)并發(fā)安全的?Map
    2023-04-04
  • Go語言中的變量和常量

    Go語言中的變量和常量

    這篇文章介紹了Go語言中的變量和常量,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 基于Golang?container/list實(shí)現(xiàn)LRU緩存

    基于Golang?container/list實(shí)現(xiàn)LRU緩存

    Least?Recently?Used?(LRU)?,即逐出最早使用的緩存,這篇文章主要為大家介紹了如何基于Golang?container/list實(shí)現(xiàn)LRU緩存,感興趣的可以了解下
    2023-08-08
  • Golang實(shí)現(xiàn)文件夾的創(chuàng)建與刪除的方法詳解

    Golang實(shí)現(xiàn)文件夾的創(chuàng)建與刪除的方法詳解

    這篇文章主要介紹了如何利用Go語言實(shí)現(xiàn)對(duì)文件夾的常用操作:創(chuàng)建于刪除。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • gin?session中間件使用及源碼流程分析

    gin?session中間件使用及源碼流程分析

    這篇文章主要為大家介紹了gin?session中間件使用及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 重學(xué)Go語言之JSON操作詳解

    重學(xué)Go語言之JSON操作詳解

    JSON的全稱是Javascript?Object?Notation,是一種數(shù)據(jù)結(jié)構(gòu)化交互的標(biāo)準(zhǔn)協(xié)議,這篇文章主要是來和大家介紹一下Go語言中JSON的相關(guān)操作,需要的可以參考下
    2023-08-08
  • Golang使用Apache PLC4X連接modbus的示例代碼

    Golang使用Apache PLC4X連接modbus的示例代碼

    Modbus是一種串行通信協(xié)議,是Modicon公司于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表,這篇文章主要介紹了Golang使用Apache PLC4X連接modbus的示例代碼,需要的朋友可以參考下
    2024-07-07
  • golang中sync.Map并發(fā)創(chuàng)建、讀取問題實(shí)戰(zhàn)記錄

    golang中sync.Map并發(fā)創(chuàng)建、讀取問題實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于golang中sync.Map并發(fā)創(chuàng)建、讀取問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Go 類型轉(zhuǎn)換工具包strconv包的用法

    Go 類型轉(zhuǎn)換工具包strconv包的用法

    Go 語言的?strconv?包提供了用于基本數(shù)據(jù)類型之間轉(zhuǎn)換的函數(shù),本文主要介紹了Go 類型轉(zhuǎn)換工具包strconv包的用法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05

最新評(píng)論

长兴县| 永川市| 黑水县| 织金县| 梁平县| 宣汉县| 康定县| 舟曲县| 莒南县| 顺昌县| 托里县| 西畴县| 宜君县| 永州市| 柘城县| 建宁县| 吉林省| 陈巴尔虎旗| 襄垣县| 天气| 大新县| 郑州市| 读书| 新郑市| 静海县| 虞城县| 闵行区| 小金县| 扬州市| 大名县| 古丈县| 门头沟区| 团风县| 新源县| 金门县| 安新县| 广昌县| 深泽县| 安福县| 嘉义市| 海盐县|