Golang 使用rand包展示的程序

Golang 使用rand包展示的程序

在Golang中,可以使用rand包来生成随机数字/字符。首先,将其与当前时间进行种子化,以便每次执行操作时得到不同的随机输出。

语法

rand.Seed(value)

Rand.Seed() 函数用于生成随机数。它以用户输入为参数,该参数是生成随机数的上限。

func Now() Time

现在函数 Now() 在time包中定义。这个函数生成当前本地时间。要使用这个函数,我们必须首先在我们的程序中导入time包。

func (t Time) UnixNano() int64

UnixNano() 函数定义在 time 包中。该函数用于获取自 1970 年 1 月 1 日起所经过的秒数(以 UTC 时间计)。它返回的最终结果是 64 位整数类型。

rand.Intn(n)

Intn()函数在math/rand包中被定义。它用于生成一个在区间[0, n]内的随机数,其中n是用户提供的数字。如果提供的数字小于0,该函数会抛出一个错误。

func Strings(src []string) []string

sort包中定义了 strings函数 。该函数以字符串格式接受待排序的数组,并通过对该数组进行排序来返回结果。

func make ([] type, size, capacity)

在Go语言中, make 函数用于创建数组/映射,它接受要创建的变量类型、大小和容量作为参数。

func range(variable)

range 函数用于迭代任何数据类型。要使用它,我们首先必须写入range关键字,后面跟随我们想要迭代的数据类型,结果是循环将迭代到变量的最后一个元素。

步骤

  • 步骤1 - 在程序中导入所需的包

  • 步骤2 - 创建一个主函数

  • 步骤3 - 在主函数中使用当前时间来初始化随机数生成器,以获得每次的不同输出

  • 步骤4 - 使用rand包中的函数执行不同的操作

  • 步骤5 - 使用fmt包中的Println函数将输出打印到控制台上

示例1

在这个示例中,随机数生成器将使用当前时间进行初始化,以获得新的随机数。然后,在前两种情况下,将生成随机整数和浮点数,然后将打印出随机排列。

package main

import (
   "fmt"
   "math/rand"
   "time"
)


func main() {
   rand.Seed(time.Now().UnixNano())
   random_integer := rand.Intn(50)
   fmt.Println("Random integer:", random_integer)
   random_floatnum := rand.Float64()
   fmt.Println("Random float:", random_floatnum)    
   random_permutation := rand.Perm(20)
   fmt.Println("Random permutation:", random_permutation) 
}

输出

Random integer: 0
Random float: 0.5038452930984003
Random permutation: [2 3 1 6 8 16 17 12 7 10 13 11 4 5 18 14 9 0 19 15]

示例2

在这个示例中,将进行种子生成,然后使用make函数创建一个名为password_value的变量,该函数是Golang中的内置函数,用于保存从字符集生成的随机密码。

package main

import (
   "fmt"
   "math/rand"
   "time"
)

const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 

func main() {    
   rand.Seed(time.Now().UnixNano()) 
   password_value := make([]byte, 6)
   for i := range password_value {
      password_value[i] = charset[rand.Intn(len(charset))]  
   }
   fmt.Println("Random password:", string(password_value)) 
}

输出

Random password: 2sdGzJ

结论

我们编写并执行了两个示例,展示了rand包的使用。在第一个示例中,通过生成随机整数、浮点数和排列来执行不同的操作。在第二个示例中,生成了一个随机密码来展示rand包的使用。这两个示例都产生了所需的随机输出。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程