首页 > 解决方案 > Swift 中的 function 和 function(_:) 有什么区别?

问题描述

我最近习惯于在 SwiftflatMap中映射String?到。Double?来电:

optionalString.flatMap(Double.init)

optionalString.flatMap(Double.init(_:))

产生相同的结果。我有两个问题:

标签: swiftdouble

解决方案


Double.init不,和之间没有区别Double.init(_:)。这些在 Swift 中被称为第一类函数。例如:

extension UIView {
    func addSubviews(_ views: UIView...) {
    views.forEach(addSubview)
  }
}

更多信息:Swift 中的一流函数

Double.init编辑:和之间有区别Double.init(_:)。(查看评论)


推荐阅读