Swift - Swift生成随机数

西门建安
2023-12-01

在Swift中生成随机数有很多方法可以达到目的

这里介绍最简单的两种方法,第一种是使用arc4random()函数, 第二种是使用arc4random_uniform()函数


1.  func arc4random() ->UInt32

arc4random()

如果要生成一个生成在一定范围内的随机整数,可以这么写:

func randomIn(#min: Int, max: Int) -> Int {
    return Int(arc4random()) % (max - min + 1) + min
}
该方法会生成[min, max]范围内的随机整数

如果需要生成随机浮点数,基本思路相同,只不过多了一步

因为arc4random返回值的类型为UInt32, 也就是32位整形, 所以其返回的最大值用十六进制表示就是0xFFFFFFFF

所以我们可以这样得到一个[0, 1]范围内的随机小数

Float(arc4random()) / 0xFFFFFFFF

 

将生成的小数适配到我们需要的范围中

func random() -> Float {
    return Float(arc4random()) / 0xFFFFFFFF
}
func randomIn(#min: Float, max: Float) -> Float {
    return random() * (max - min + 1) + min
}


2. func arc4random_uniform(_:UInt32) ->UInt32

arc4random_uniform(4)

可以生成[0, 4)的随机整数



 类似资料: