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
廣告