在Swift中向int添加char
在Obj-C中,我通过在字符“A”中添加0到25之间的随机值来生成随机数字:
'A' + arc4random() % 26 在swift中,我发现这样做的唯一方法如下 func +(left: Character,right: Int) -> Character { let oldCharUnicodeScalars = String(left).unicodeScalars let newCharIntRepresentation = Int(oldCharUnicodeScalars[oldCharUnicodeScalars.startIndex].value) + right return Character("(UnicodeScalar(newCharIntRepresentation))") } let rndChar = String(Character("A") + Int(arc4random()%26)) 我想知道是否有更简单,更灵活的东西. 解决方法
您可以结合使用一些东西来创建类似于原始解决方案的单行程序(我不会真的称之为更灵活):
var rndChar = String(UnicodeScalar("A".utf16[0] + Int(arc4random_uniform(26)))) String的utf16属性返回一个 另一种方法,如果你只是在寻找“A”和“Z”之间的随机字符,那就是从你想要的字符串中创建一个数组,然后从该数组中获取一个随机项: var rndChar = Array("ABCDEFGHIJKLMNOPQRSTUVWXYZ")[Int(arc4random_uniform(26))] 旁注:我建议使用arc4random_uniform(26)而不是arc4random()%26,因为它会给出一个更一致的随机数:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |