Swift 的變化:從 2.2 到 3.0 會帶來什么

jopen 8年前發布 | 24K 次閱讀 Swift
 

如果你還沒看過 Swift 發展路線圖 ,我建議你要好好看一看。目前為止,有四個針對 Swift 3 和一個針對 Swift 2.2 的提議已經被接受,也許其中的某些能讓你會心一笑。

顯然,這些提議中最令人振奮的是 API 翻譯的改進,旨在 廢除冗長的 Objective-C 式的風格 ,形成調用簡潔且易讀的 Swift 風格。

看上去顯而易見我們將要和 函數柯里化聲明 說再見了,雖然這是沒有語法糖語言共有的特性。這是我能忍受的東西,但是這點改變并不會讓我開心起來 — 除此之外似乎有迫切的原因去降低語言的復雜度。

++--這是兩個減號,不是破折號 )運算符也在 移除的部分 中。它們最初是為了和 C 語言一致而引入的,但它們的結果值通常不會被檢查。對大部分開發者來說,很容易可以用 +=-= 替代它們。

最后, var 形式的函數參數 將會被移除,因為它們現在的實現是從復制和修改步驟中抽象出來,而這造成了困惑。我覺得這不是一個大損失,只是需要你聲明一個函數內 var 變量賦值來替代它。

十分有趣是,除了 ++-- 的改變,幾乎所有的變更點我都在 新書 中提到了。

已經被接受的 Swift 2.2 提案允許你 用關鍵字作為參數標簽 ,這使得現在可以這樣聲明:

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 版。基礎代碼或多或少能保證與這次大更新沒關系。

最終的 API 設計指導原則發布在 這個網址

本文由 SwiftGG 翻譯組翻譯,已經獲得作者翻譯授權,最新文章請訪問http://swift.gg。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!