Kotlin主要特征
1. 目標平臺
服務器端、Android設備、Java運行的平臺
2. 靜態語言
所有表達式類型在編譯期已經確定
Kotlin具有類型推導能力,可以從上下文推斷變量類型
3. 函數式編程
核心概念
- 頭等函數
把函數當作值,可以用變量保存,可以作為參數傳遞,或當作其他函數返回值 - 不可變性
使用不可變對象,保證創建后不能改變 - 無副作用
使用純函數,函數返回值只取決于參數,不產生副作用
函數副作用是指函數在正常工作任務之外對外部環境所施加的影響。
函數副作用是指函數被調用,完成了函數既定的計算任務,但同時因為訪問了外部數據,尤其是因為對外部數據進行了寫操作,從而一定程度地改變了系統環境。
函數的副作用也有可能是發生在函數運行期間,由于對外部數據的改變,導致了同步運行的外部函數受到影響。
函數式編程的好處
- 代碼簡潔 使用lambda表達式
- 多線程安全
- 測試更加容易
Kotlin對函數式編程的支持
- 函數類型,允許函數接受其他函數作為參數,或返回其他函數
-
lambda
表達式,樣板代碼方便傳遞代碼塊 - 數據類,創建不可變對象的簡明語法
- 標準庫有豐富的API
總結
- Kotlin是靜態語言支持類型推導,在維護正確性與性能同時保持代碼整潔
- Kotlin支持面向對象和函數式兩種編程風格,頭等函數支持更高級別抽象,支持不可變值簡化測試和多線程開發
- 支持服務器端現存的所有Java框架
- 對Android API提供特殊編譯器支持及豐富的庫,為Android開發提供了Kotlin友好的函數
- 與Java互操作性,且有效避免了空指針異常