做者:Erica Sadun,原文連接,原文日期:2015-12-03
譯者:Channe;校對:Cee;定稿:千葉知風html
若是你還沒看過 Swift 發展路線圖,我建議你要好好看一看。目前爲止,有四個針對 Swift 3
和一個針對 Swift 2.2
的提議已經被接受,也許其中的某些能讓你會心一笑。git
顯然,這些提議中最使人振奮的是 API 翻譯的改進,旨在廢除冗長的 Objective-C
式的風格,造成調用簡潔且易讀的 Swift
風格。github
看上去顯而易見咱們將要和函數柯里化聲明說再見了,雖然這是沒有語法糖語言共有的特性。這是我能忍受的東西,可是這點改變並不會讓我開心起來 — 除此以外彷佛有迫切的緣由去下降語言的複雜度。objective-c
++
和 --
(這是兩個減號,不是破折號)運算符也在移除的部分中。它們最初是爲了和 C 語言一致而引入的,但它們的結果值一般不會被檢查。對大部分開發者來講,很容易能夠用 +=
和 -=
替代它們。swift
最後,var 形式的函數參數將會被移除,由於它們如今的實現是從複製和修改步驟中抽象出來,而這形成了困惑。我以爲這不是一個大損失,只是須要你聲明一個函數內 var 變量賦值來替代它。api
十分有趣是,除了 ++
和 --
的改變,幾乎全部的變動點我都在新書中提到了。app
已經被接受的 Swift 2.2
提案容許你用關鍵字做爲參數標籤,這使得如今能夠這樣聲明:ide
func touchesMatching(phase: NSTouchPhase, in view: NSView?) -> Set<NSTouch>
Swift 3.0
承諾會保持 ABI(Application Binary Interface)
的穩定性:「成功保持 ABI 穩定性意味着,即使源代碼語言發生了變化,用之後版本的 Swift 開發的應用程序和編譯庫能在二進制層次上和 Swift 3.0 版本的應用程序和編譯庫相互調用。」函數
開發團隊利用這個機會作個類型系統清理,包括全部語言的小改良,同時「完整完成」基類系統。代碼遷移者將把項目從 2.x 版遷到 3.x 版。基礎代碼或多或少能保證與此次大更新不要緊。post
最終的 API 設計指導原則發佈在這個網址。
本文由 SwiftGG 翻譯組翻譯,已經得到做者翻譯受權,最新文章請訪問 http://swift.gg。