swift随机数
SystemRandomNumberGenerator
SystemRandomNumberGenerator
实现RandomNumberGenerator
协议
随机数的上限
next(upperBound:)
也可使用Int.random
随机
let randomIndex = Int.random(in: 0..<Int(len))
func randomAlphanumericString(_ length: Int) -> String {
let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
let len = UInt32(letters.count)
var random = SystemRandomNumberGenerator()
var randomString = ""
for _ in 0..<length {
let randomIndex = Int(random.next(upperBound: len))
// let randomIndex = Int(g.next(upperBound: len))
let randomCharacter = letters[letters.index(letters.startIndex, offsetBy: randomIndex)]
randomString.append(randomCharacter)
}
return randomString
}
reduce
reduce是一个非常好用的高阶函数,可以将数组或序列的所有元素合并为单个值【用于序列元素的累加】
let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
let randomString = (0..<10).map{ _ in
String(letters.randomElement()!)
}.reduce("", +)
print(randomString)
//eyv4ItFxiN
网友评论