闭包歧义

2017-02-05  本文已影响7人  fordring2008

// 闭包歧义

// 完整的闭包是将闭包的输入和输出都写上,然后用 in 隔离 参数和实现

// Void 其实是一个 没有参数的元组 ()

extension Int {

//    func times(f: (Int)->()){

//        print("Int")

//        for i in 1...self{

//            f(i)

//        }

//    }

//

//    func times(f: ()->()) {

//        print("Void")

//        for i in 1...self{

//            f()

//        }

//    }

func times(f:(Int, Int)->()) {

print("Tuple")

for i in 1...self{

f(i, i)

}

}

}

3.times { i in

print(i)

}

// public typealias Void = ()

3.times {

i in

print(i)

}

//3.times {_,_ in

//    print("d")

//}

//3.times { (i: Int) ->() in

//    print(i)

//}

/*

Int

1

2

3

*/

// 简化1

//3.times { i in

//    print(i)

//}

上一篇下一篇

猜你喜欢

热点阅读