所以我对Swift的了解是,有一些方便的语法/速记方法可以定义某些类型,可以缩短函数中参数的类型。
e.g。一个数组,
func example(anArray: Array<Int>) {}
可以更容易编写
func example(anArray: [Int]) {}
或者使用字典
func example2(aDictionary: Dictionary<String, Int>) {}
可以更容易编写
func example2(aDictionary: [String: Int]) {}
我想知道是否有适用于某个范围的速记方式,或者以下是唯一的写入方式?用这种方式写它不是很长,我更加好奇!
func example3(aRange: Range<Int>) {}
答案 0 :(得分:1)
编辑:
Range Operators仅用于创建范围,它们不用于定义类型。
如果你写
let arr = [0, 1, 2]
let dict = [0:0, 1:1, 2:2]
let range= 0...2
并检查所有三个变量&#39;类型,用于:
arr
您将获得let arr: [Int]
dict
您将获得let dict: [Int : Int]
range
您将获得let range: Range<Int>
这让我相信,在Swift中没有用于定义范围类型的简写。
答案 1 :(得分:0)
您可以使用以下范围。
var range = UInt32(1)...UInt32(100)
或
var range = UInt32(start)...UInt32(end)
我总是使用它来从指定范围内获取随机数。
func random(start:UInt32, end:UInt32) -> UInt32 {
var range = UInt32(start)...UInt32(end)
return range.startIndex + arc4random_uniform(range.endIndex - range.startIndex)
}