Kotlin:Android世界的Swift

weixin_33843409發表於2015-06-25

Kotlin是一門與Swift類似的靜態型別JVM語言,由JetBrains設計開發並開源。與Java相比,Kotlin的語法更簡潔、更具表達性,而且提供了更多的特性,比如,高階函式、操作符過載、字串模板。它與Java高度可互操作,可以同時用在一個專案中。

\\

按照JetBrains的說法,根據他們多年的Java平臺開發經驗,他們認為Java程式語言有一定的侷限性和問題,而且由於需要向後相容,它們不可能或很難得到解決。因此,他們建立了Kotlin專案,主要目標是:

\\
  • 建立一種相容Java的語言 \\
  • 編譯速度至少同Java一樣快 \\
  • 比Java更安全 \\
  • 比Java更簡潔 \\
  • 比最成熟的競爭者Scala還簡單 \

Ashraff Hathibelagal是一名喜歡研究新框架和SDK的獨立開發者。近日,他撰文介紹了Kotlin的一些語法。按照他的說法,一個合格的Java程式設計師可以在很短的時間內學會使用Kotlin。

\\

類與建構函式

\\

Kotlin建立類的方式與Java類似,比如下面的程式碼建立了一個有三個屬性的Person類:

\\
class Person{\    var name: String = \"\"\    var age: Int = 0\    var college: String? = null\}\
\\

可以看到,Kotlin的變數宣告方式略有些不同。在Kotline中,宣告變數必須使用關鍵字var,而如果要建立一個只讀/只賦值一次的變數,則需要使用val代替它。另外,為了實現“空安全(null safety)”,Kotlin對可以為空的變數和不可以為空的變數作了區分。在上述程式碼中,變數nameage不可為空,而表明變數college可以為空。定義完類之後,建立例項就非常簡單了:

\\
var jake = Person()\
\\

注意,Kotlin沒有關鍵字new。例項建立完成後,就可以像在Java中一樣為變數賦值了:

\\
jake.name = \"Jake Hill\"\jake.age = 24\jake.college = \"Stephen's College\"\
\\

變數可以採用上述方式賦值,也可以通過建構函式賦值,但後者是一種更好的編碼實踐。在Kotlin中,建立這樣的一個建構函式非常簡單:

\\
class Person(var name: String, var age: Int, var college: String?) {\}\
\\

而實際上,由於建構函式中沒有其它操作,所以花括號也可以省略,程式碼變得相當簡潔:

\\
class Person(var name: String, var age: Int, var college: String?)\\var jake = Person(\"Jake Hill\

相關文章