闭包歧义

// 闭包歧义

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

//}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容