什么() - > ()意味着什么?

时间:2014-08-31 13:19:30

标签: swift

extension Int {
    func repetitions(task: () -> ()) {
        for i in 0..<self {
            task()
        }
    }
}

我知道该任务是参数名称。 但我不知道是什么() - &gt; ()。

4 个答案:

答案 0 :(得分:5)

() -> ()仅表示Void -> Void - 一个不接受任何参数且没有返回值的闭包。

答案 1 :(得分:3)

更准确地说,() -> ()表示一个闭包,它将一个带有0值的元组作为参数,并返回一个零值的元组。这相当于说:一个不带参数且没有返回值的闭包(或返回void

答案 2 :(得分:2)

() -> ()是不带参数且什么都不返回的类型。 () -> Void具有相同的含义。

答案 3 :(得分:0)

遇到这行代码时,我也有同样的困惑。

看到:

extension Int {
    func repetition(task: () -> Void) {
        for _ in 1...self {
            task()
        }
    }
}

我最初认为可以通过以下方式调用此函数:

3.repetition(task: printAtree(of: 5))

只有在阅读了上述答案之后我才意识到() - &gt; ()指的是闭包,必须以闭包作为参数。因此,要调用该函数,我们使用:

3.repetition {
    printAtree(of: 5)
}