Android開發之Kotlin使用指南

Android開發之Kotlin使用指南。

學習Kotlin之前應該弄清楚三個問題,Kotlin是什麼,為什麼要學習Kotlin,怎麼學習Kotlin。
這篇文章先來解決第一個問題,什麼是Kotlin?

Kotlin的前世今生

Google爸爸是在今年的谷歌開發者大會上宣佈瞭Kotlin成為Android正式的開發語言,但是Kotlin的發展已經有瞭相當長的一段時間瞭。

Kotlin圖標

Kotlin來自於JetBrains公司,不知道這個公司是幹什麼的可以去百度一下Android Studio的發明者。起源來自JetBrains的聖彼得堡團隊,名稱取自聖彼得堡附近的一個小島(Kotlin Island)。

Kotlin和Java的不同

為什麼Android一直使用的是Java進行開發,為什麼現在推出Kotlin作為Android的官方開發語言呢?
其實,Kotlin是能夠兼容Java的,兩者的差別如下:

差別 Java Kotlin
數據類型 自己定義 支持類型推斷,var表示變量
函數寫法 修飾符+方法類型+方法名 fun + 方法名
繼承 extends :即可實現
其他寫法 結尾需要分號 結尾不需要分號

Kotlin的其他優點:空指針安全,支持方法擴展等等一系列的,會在之後的學習一一展示出來。。。

總結一下,為什麼要選擇Kotlin:

1.簡潔,Kotlin的代碼確實比Java更加簡潔,比如類型推斷,省去結尾的分號等等,然而這遠不能成為我們改用Kotlin的原因。

2.安全,這是Kotlin的一個很重要的特性。Kotlin是空指針安全的,JetBrains做瞭一件很聰明的事情,它們將運行時才能空指針的檢測提前到瞭編譯時,主要方式是增加瞭Any?這種可為空的類型,使用Kotlin之後,我們程序的空指針會得到明顯的改善。

3.實用,高效率。Kotlin的實用具體表現在
引入Object,便於我們更好的應用單例模式
引入data class, 避免瞭我們手寫getter/setter/toString等方法
引入參數默認值和具名參數,避免瞭不必要的方法重載
支持擴展方法,讓我們可以省去好多必須要的代碼

4.Kotlin引入瞭Lambda,Streams API 和函數式編程支持。
Lambda表達式可以省去瞭我們創建很多匿名內部類的代碼(註由於目前Kotlin基於JVM6,Lambda表達式在字節碼階段依然會翻譯成內部類形式)
Streams API 結合Lambda表達式和方法引用,讓我們的代碼處理一件事情以描述的形式,而不是命令實現的方式。
Kotlin支持OOP(面向對象編程)和FP(函數式編程),語言本身並沒有限制,給瞭我們選擇的自由,Kotlin對FP的友好支持,便於我們寫出更加穩定,易於測試,無副作用的方法和代碼。

5.可讀性 從客觀上,Kotlin語法和特性上讓代碼更加具有描述性而已。但是不得不指出代碼可讀性主要依賴編寫者的編碼素質和能力。

對我個人而言,高階函數和方法擴展這兩個特點著實真心受用。方法擴展會讓我有一種創造感,這是Java種的Util方法所無法比擬的。

You May Also Like