12月14日

2023-12-13  本文已影响0人  萧修

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
上一篇下一篇

猜你喜欢

热点阅读