原创 Kotlin研發第六彈——類與繼承

類 類與繼承 類 Kotlin 中使用關鍵字 class 聲明類 class Invoice { ... } 類聲明由類名、類頭(指定其類型參數、主構造函數等)以及由花括號包圍的類體構成。類頭與類體都是可選的; 如果一個類沒有類

原创 Kotlin研發第二十一彈——空安全

空安全 空安全 可控類型和非空類型 在條件中檢查null 安全掉還用 Elvis操作符 !!操作符 安全轉換 空安全 可空類型和非空類型 Kotlin致力於消滅空引用:爲了避免Java中的NullPointerExcep

原创 Kotlin研發第十三彈——高階函數和lambda表達式

高階函數和lambda表達式 尾遞歸函數(tailrec) kotlin支持函數時編程的尾遞歸。這個允許一些算法可以通過循環而不是遞歸解決問題,從而避免了棧溢出。當函數被標記爲tailrec時,編譯器會優化遞歸,並用高效迅速的循環

原创 Kotlin研發第五彈——控制流:if、when、for、while

控制流:if、when、for、while If 表達式 在 Kotlin 中,if是一個表達式,即它會返回一個值。 因此就不需要三元運算符(條件 ? 然後 : 否則),因爲普通的 if 就能勝任這個角色。 // 傳統用法 var

原创 Kotlin研發第四彈——基礎類型

基礎類型 在 Kotlin 中,所有東西都是對象,在這個意義上講我們可以在任何變量上調用成員函數與屬性。 一些類型可以有特殊的內部表示——例如,數字、字符以及布爾值可以在運行時表示爲原生類型值,但是對於用戶來說,它們看起來就像普通

原创 Kotlin研發第七彈——屬性與字段

屬性與字段 聲明屬性 Kotlin的類可以有屬性。 屬性可以用關鍵字var 聲明爲可變的,否則使用只讀關鍵字val。 class Address { var name: String = …… var street

原创 Kotlin研發第二彈——習慣用語

習慣用語 習語 創建DTOs(POJOs/POCOs)數據類 函數默認參數 過濾list 字符串插值 實例檢查 遍歷map/list鍵值對 使用ranges 只讀list 只讀map 訪問map 懶屬性(延遲加載) 擴展函數

原创 Kotlin研發第三彈——編碼風格

編碼風格 編碼規範 命名風格 冒號 lambdas 類聲明格式 Unit 函數vs屬性 編碼風格 命名風格 —使用駱駝命名法(在命名中避免下劃線) —類型名稱首字母大寫 —方法和屬性首字母小寫 —縮進用四個空格 —pu

原创 Kotlin研發第一彈——基本語法

基本語法 基本語法 包定義 定義函數 定義局部變量 註釋 使用字符串模板 使用條件表達式 使用可空變量以及空值檢查 使用值檢查以及自動轉換 使用for循環 使用while循環 使用when表達式 使用ranges 使用集合

原创 Kotlin研發第十九彈——等式

等式 相等 參照相等 結構相等 相等 kotlin中有兩種相等 參照相等(指向相同的對象) 結構相等 參照相等 參照相等是通過===操作符判斷的(不等是!==)a===b,只有a,b指向同一個對象時判斷才成立 另外:

原创 Kotlin研發第九彈——擴展

擴展 Kotlin 同 C# 與 Gosu 類似,能夠擴展一個類的新功能而無需繼承該類或使用像裝飾者這樣的任何類型的設計模式。 這通過叫做 擴展 的特殊聲明完成。Kotlin 支持 擴展函數 與 擴展屬性。 擴展函數 聲明一個擴展

原创 Kotlin研發第二十彈——運算符重載

運算符重載 運算符重載 轉換 一元運算符 二元操作符 函數命名的中綴調用 運算符重載 Kotlin允許我們事先一些我們自定義類型的運算符實現,這些運算符有固定的表示和固定的優先級。爲實現這樣的運算符,餓哦們提供了固

原创 Kotlin研發第十二彈——函數和lambda表達式

函數和lambda表達式 函數 1、函數聲明 在kotlin中用關鍵字fun聲明函數: fun double(x:Int):Int{} 2、函數用法 通過傳統的方式調用函數 val resule=double(2) 通

原创 Kotlin研發第十七彈——其他

其他 其他 鏈接 鏈接 多重聲明 Ranges 類型檢查和自動轉換 This表達式 燈飾 運算符重載 空安全 異常 註解 反射 動態類型 多重聲明 多重聲明 例子:一個函數返回兩個值 例子:多重聲明和Map

原创 Kotlin研發第八彈——可見性修飾符

可見性修飾符 類、對象、接口、構造函數、方法、屬性和它們的 setter 都可以有 可見性修飾符。 (getter 總是與屬性有着相同的可見性。) 在 Kotlin 中有這四個可見性修飾符:private、 protected、