來自:開源中國
Swift 5 釋出了,這是一個重要里程碑。
此版本終於迎來了 ABI 穩定,因此 Swift 執行時現在可以引入到 Apple 平臺各類作業系統的各個版本中,包括 macOS、iOS、tvOS 與 watchOS。
Swift 5 還引入了構建塊的新功能,包括重新實現 String、在執行時對執行記憶體的獨佔訪問與新資料型別,以及對動態可呼叫型別的支援。
Swift 5 相容 Swift 4、Swift 4.1 和 Swift 4.2,Xcode 10.2 中包含了一個程式碼遷移器,可以自動處理許多遷移需要用到的原始碼更改。
語言更新
穩定的 ABI 與二進位制相容性
ABI 已經穩定,因此 Swift 庫現在可以整合到每個 macOS、iOS、tvOS 和 watchOS 版本中,應用將更容易構建,並且體積更小,因為它們不必包含這些庫。
標準庫更新
Swift 5 中的標準庫包括以下新特性:
- 使用 UTF-8 編碼重新實現的 String 可以產生更快的程式碼。之前我們已經報導過:Swift 5將使用UTF-8作為首選字串編碼
- 改進了對字串中原生文字的支援
- 標準庫新增 Result 和 SIMD 向量型別
- 增強了字串插值功能,為從資料構造文字提供了更多靈活性
- 改進了 Dictionary 和 Set 的效能
其它語言和編譯器更新
Swift 5 預設為除錯和釋出版本強制執行對記憶體的獨佔訪問。此外 Swift 5 支援動態可呼叫型別,有助於提高與 Python、JavaScript 和 Ruby 等動態語言的互操作性。
包管理器更新
Swift 5 為 Swift Package Manager 帶來了許多新功能,包括依賴映象、特定於標的的構建設定、自定義部署標的與生成程式碼改寫率資料的能力。此外,swift run 命令現在可以在 REPL 中匯入庫而無需構建可執行檔案。