您现在的位置是:首页 > 文章详情

Swift 标准库预览版发布

日期:2020-02-19点击:378

Swift 团队发布了 Swift 标准库预览版(Swift Standard Library Preview),开发者可使用它访问已通过 Swift Evolution 流程并被 Swift 标准库接纳的功能,不过要注意这些新功能尚未作为 Swift 正式版本的一部分提供。

团队已经从最近通过的 SE-0270 提案中为预览版标准库添加了功能,该提案包括对集合子范围的操作,例如subranges(where:) 和 moveSubranges(_🇹🇴),以及支持的RangeSet类型。

使用预览版标准库

要在 Swift Package Manager 项目中使用标准库包,请将其作为包依赖项和目标依赖项添加到Package.swift文件中:

 let package = Package( name: "MyPackage", dependencies: [ .package(url: "https://github.com/apple/swift-standard-library-preview.git", from: "0.0.1"), ], targets: [ .target( name: "MyTarget", dependencies: [.product(name: "StandardLibraryPreview", package: "swift-standard-library-preview")]), ] )

以 SE-0270 作为示例:

 import StandardLibraryPreview var numbers = [10, 12, -5, 14, -3, -9, 15] let negatives = numbers.subranges(where: { $0 < 0 }) // numbers[negatives].count == 3 numbers.moveSubranges(negatives, to: 0) // numbers == [-5, -3, -9, 10, 12, 14, 15]

使用独立软件包

Standard Library Preview包正在持续开发中,并且维护的主要版本0以指示它并不旨在稳定源。如果您需要项目中的源代码稳定性,则每个批准的标准库建议书也可以独立包装提供。预览包实际上是一个伞形库,可重新导出每个单独的包。

预览版标准库正在持续开发中,如果你的项目对于代码稳定性有要求,每个已通过的标准库提案能够以独立软件包的形式提供。例如,SE-0270 提案的功能可通过独立的 SE0270_RangeSet 软件包获得。因此,如果只需要使用 SE-0270,则可以将其作为软件包依赖项和目标依赖项添加到Package.swift文件中:

 let package = Package( name: "MyPackage", dependencies: [ .package(url: "https://github.com/apple/swift-se0270-range-set.git", from: "1.0.0"), ], targets: [ .target( name: "MyTarget", dependencies: [.product(name: "SE0270_RangeSet", package: "swift-se0270-range-set")]), ] )

然后导入 SE-0270:

 import SE0270_RangeSet var numbers = [10, 12, -5, 14, -3, -9, 15] let negatives = numbers.subranges(where: { $0 < 0 }) // numbers[negatives].count == 3 numbers.moveSubranges(negatives, to: 0) // numbers == [-5, -3, -9, 10, 12, 14, 15]
原文链接:https://www.oschina.net/news/113506/swift-standard-library-preview
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章