Swift标准库预览版发布
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]
總結
以上是生活随笔為你收集整理的Swift标准库预览版发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天麻醒脑胶囊有什么功效和作用??
- 下一篇: 投票,在公共场所传教是否侵害了别人不信教