- fun 函數聲明
- val / var 變量聲明
- ${} 字符串模板
- import 導入任何種類的聲明
- enum class 枚舉
- when 分支表達式
- … 區間表達式(遞增,閉區間)
- until (遞增,開區間)
- for( a in…) 循環
- down To 遞減
- step設置步長
- in !in 判斷對象是否在集合或區間中
- const val 類似於Java中static final ,適用於所有基本數據類型和String類
- vararg 可變參數
- “*” 星號,展開運算符,用於數組,可以讓數組元素在函數中作爲單獨的參數來調用
- to 中綴調用, infix修飾函數,允許使用中綴符號
- interface 定義接口
- :繼承(實現)、函數返回值類型
- override重寫修飾符
- super.methor() 調用父類方法
- open 允許該類被繼承(方法被重寫),Kotlin中默認的類和方法都是final
- final 禁止該方法被重寫
- abstract 抽象
- public , private, protected, internal 可見性修飾符,默認public,internal模塊內可見
- inner 內部類
- 嵌套類 默認
- sealed 密封類
- constructor 構造方法
- init{} 初始化語句塊
- super(params…)調用父類的構造方法
- this(params…)調用自己類的其他構造方法
- field 訪問屬性的支持字段$field
- == 檢查相等性(類似於Java中的equals方法)
- === 進行引用比較
- is 等價於Java中的instanceOf
- data class 數據類(自動生成方法的實現類)
- by 委託
- object 聲明對象(單一實例,無構造方法)
- companion object 伴生對象(工廠方法,靜態成員)
- object : 聲明匿名內部類
- maxBy{} 指定比較哪個值找到最大元素,需要一個參數:一個函數
- it 默認參數名稱
- :: 成員引用(Person::age)
- {… -> …} Lambda表達式
- run{} 執行代碼塊
- filter 過濾(從集合中找尋滿足條件的所有元素)
- map 轉換(對集合中的每一個元素應用給定的函數並把結果收集到一個新集合)
- all 判斷集合中的所有元素是否滿足某個條件 返回布爾值類型
- any 判斷集合中是否至少有一個元素滿足條件 返回布爾值類型
- count 返回集合中滿足條件的個數
- find 找到集合中第一個滿足條件的元素,如果沒有返回Null 等價於 firstOrNull
- groupBy 根據條件把集合轉換成分組的map
- flatMap 根據作爲實參給定的函數對集合中的每個元素做變換,然後把多個列表合併成一個列表
- asSequence() 把任意的集合轉換成序列 (惰性操作)
- toList 把序列轉換成集合
- with(params){} with的返回值是lambda中最後一個表達式
- apply apply始終會返回作爲實參傳遞給它的對象(返回接收者的對象),返回第一個參數
- ? 允許變量爲null
- ?. 安全調用
- ?: Elvis運算符(不爲null就是前面的運算數,爲null就是後面的運算數)
- as? 安全轉換
- !!. 非空斷言
- let函數 ?.let{} 把調用Lei函數的可空對象轉換成非空類型
- lateinit 延遲初始化, 所有延遲初始化都是var類型
- Any , Any? 根類型(前者非空,否則可爲空)
- Unit Kotlin中的void
- Nothing 這個函數永不返回
- operator 重載符號
- a[index] 下標運算符 重載get()方法
- in 檢查某個對象是否屬於集合
- rangeTo 創建區間…
- by 委託
- by lazy{} 延遲初始化
- inline 內聯函數關鍵字,作用:銷除lambda帶來的運行開銷
- where 指定泛型的多個約束
- reified 具體化,使用inline來修飾函數,reified來修飾類型形參,作用:可以在運行時引用實際的類型參數
- ::class.java 獲取java.lang.Class對應的Kotlin類
- out 泛型中協變關鍵字 作用:保留子類型化關係,泛型T只能用在out位置(返回值)相當於Java中的extends
- in 逆變,可以看作是協變的鏡像 相當於Java中的super
- @ 應用註解,lambda中做局部返回
Kotlin中最常用的80個關鍵字
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.