// 闭包歧义
// 完整的闭包是将闭包的输入和输出都写上,然后用 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)
//}
网友评论