Swift - 随机数



随机数是由系统生成的数字序列,没有任何预定义的模式,以不可预测的方式出现。它们通常用于机会事件,产生不可预测的结果等。随机数广泛应用于密码学、游戏、统计分析、为用户生成唯一ID/会话等。

在 Swift 中,我们可以使用以下方法查找随机数:

  • random(in:) 函数
  • random(in: using:) 函数
  • randomElement() 函数

使用 random(in:) 函数

我们可以借助 random(in:) 函数查找随机数。此函数从给定范围内返回一个随机数。使用此函数,我们可以生成 Int、Double、Float 和 Bool 类型的随机数。

语法

以下是 random(in:) 函数的语法:

static func random(in: inputRange)

此函数只接受一个参数 inputRange。inputRange 表示 random() 函数创建随机数的范围。

返回值

此函数从给定范围内返回一个随机数。

示例

使用 random(in:) 函数生成随机数的 Swift 程序。

import Foundation

// Generating a random number of Int type
var randomNumber1 = Int.random(in: 10...23)
print("Random Number:", randomNumber1)

// Generating a random number of Float type
var randomNumber2 = Float.random(in: 10.2...23.2)
print("Random Number:", randomNumber2)

// Generating a random number of Double type
var randomNumber3 = Double.random(in: 15.2..<25.2)
print("Random Number:", randomNumber3)

// Generating a random number of Bool type
var randomNumber4 = Bool.random()
print("Random Number:", randomNumber4)

输出

它将产生以下输出:

Random Number: 20
Random Number: 14.4035845
Random Number: 17.450544998301993
Random Number: true

使用 random(in:using:) 函数

为了生成随机数,Swift 支持一个名为 random(in:using:) 的预定义函数。此函数在给定范围内借助给定的生成器生成随机数。它也生成 Int、Double、Float 和 Bool 类型的随机数。

语法

以下是 random(in:using:) 函数的语法:

static func random(in: inputRange, using: generator)

此函数接受两个参数:

  • inputRange - 它表示一个范围。其值不能为空。

  • generator - 它表示 random(in:using:) 函数将用来生成随机数的生成器。

返回值

此函数在指定范围内返回一个随机数。

示例

使用 random(in:using:) 函数生成随机数的 Swift 程序。

import Foundation

// Specifying a generator
var myGenerator = SystemRandomNumberGenerator()

// Generating a random number of Int type
var randomNumber1 = Int.random(in: 30...43, using: &myGenerator)
print("Random Number:", randomNumber1)

// Generating a random number of Float type
var randomNumber2 = Float.random(in: 12.2...33.2, using: &myGenerator)
print("Random Number:", randomNumber2)

// Generating a random number of Double type
var randomNumber3 = Double.random(in: 35.2..<45.2, using: &myGenerator)
print("Random Number:", randomNumber3)

// Generating a random number of Bool type
var randomNumber4 = Bool.random(using: &myGenerator)
print("Random Number:", randomNumber4)

输出

它将产生以下输出:

Random Number: 34
Random Number: 20.267605
Random Number: 42.47363754282583
Random Number: false

使用 randomElement() 函数

当我们使用集合(例如数组和字典)时,可以使用 randomElement() 函数。此函数从给定集合中返回一个随机元素。此函数返回的值是可选类型,因此我们必须使用 (!) 解包它。

语法

以下是 randomElement() 函数的语法:

static func randomElement()

返回值

此函数从指定的集合中返回一个随机数。如果集合为空,则返回 nil。

示例

从给定集合中生成随机元素的 Swift 程序。

import Foundation
let myVeggies = ["Lemon", "Cabbage", "Green Chilly", "Potato"]

// Getting random element
let randomVeggie = myVeggies.randomElement()!
print("Random Element: \(randomVeggie)")

输出

它将产生以下输出:

Random Element: Lemon
广告