Swift 對比學習 (二)

書接上回,可以作爲參數和返回值的函數數型,以及嵌套函數,絕對繼承了動態語言的優良傳統; 函數嵌套了,那必然少不了閉包問題,Swift的閉包表達式語法也蠻有趣的。

{ (paraeeters) -> returnType in
  statements
}

延遲存儲屬性,一般語言要通過代碼或類庫實現,Swift直接作到語法裏,多貼心啊, @lazy var

使用weak(弱引用)或unowned(無主引用),避免實例間的強引用環。

is, as 類型判斷和轉換,as? 非強轉,等同於C#的as,轉不成返nil.

Any混合不同類型,包括非class, AnyObject[]非明確類型

嵌套類型(Nested Types)很神奇

溢出運算符: &+, &-, &*, &/, &%, 類似與C#的checked, unchecked.

Swift支持運算符重載,在關鍵字func之前加屬性@infix, @prefix, @postfix, @assignment

自定義運算符,/=-+*%<>!&|^~,這下玩大了,可以定義自已的表達式,如+++, +-

 

終於把整本書翻完了,Swift確實把new用作表達和類型的關鍵字,但沒看到在什麼地方使用,很奇怪?!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章