初識Kotlin打賞

Kotlin 是一個基于 JVM 的新的編程語言,由 JetBrains 開發。作為目前廣受歡迎的 Java IDE IntelliJ 的提供商,在 Apache 許可下已經開源其Kotlin 編程語言。

Kotlin設計目標是

1、創建一種兼容Java的語言

2、讓它比Java更安全,能夠靜態檢測常見的陷阱。如:引用空指針

3、讓它比Java更簡潔,通過支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等實現。

4、讓它比最成熟的競爭對手Scala語言更加簡單。

有人總結了如下優點

1、非常簡潔的語法

2、與Java代碼交互非常容易和簡單

3、更好的泛型

4、安全的null運算, 跟Swift的一樣

5、更好的Lambda支持

6、方法(函數)為一級公民

7、擴展方法

8、inline

9、有一系列的語法糖: range, data class 等

對于優勢,有Kotlin的擁護者更是這樣總結:

1、Kotlin編譯成JVM字節碼或JavaScript——這不僅會吸引Java開發人員,還會吸引所有使用垃圾收集運行時的開發人員,比如使用Scala、Go、Python、Ruby和JavaScript的開發人員。

2、Kotlin來自業界,而非學術界——它解決了程序員現如今在工作中面臨的問題。

3、采用成本低——JetBrains提供了高質量的轉換工具(可以實現Java到Kotlin代碼的一鍵轉換),而且特別注重Java二進制兼容性。開發者可以一次僅轉換現有Java項目中的一個文件,整個項目仍然可以正常編譯。

4、Kotlin程序可以使用所有現有的Java框架和庫,并可以集成Maven、Gradle和其它構建系統。

5、易于學習——Kotlin語法簡潔直觀,看上去非常像Scala,但更簡單。 它不遵循特定的編程哲學,如函數式風格或面向對象風格。

6、不增加運行時開銷——Kotlin標準庫非常緊湊,主要包含Java標準庫的擴展。

7、適合Android開發——借助像Anko和Kovenant這樣的框架,Kotlin將在Android開人員中流行。

8、IntelliJ對Kotlin提供了良好的支持。

另外,經常看到各種性能測試,發現Kotlin是在Scala、Groovy等第三方JVM語言中最快的,沒有過多去嘗試,試試了試簡單的特性,確實可以簡潔不少,對于個人來言,通常不會用于大型項目,反而性能不是第一,簡潔高效則顯得尤為重要。比如:

定義Pojo類,直接定義如下

package com.poorren.pojo

/**

* Created by William.Wei on 2015/11/29.

*/

data class People(var name:String="People",val age:Int=0) {

fun say(){

println("I'am $name,$age years old")

}

}

fun main(args: Array < string >) {

val people = People(null)

people.say()

}

這里初始化時無需new,傳入參數中由于默認構造都是不可為空的,都不能傳入null,否則直接編譯不通過,這樣大大降低了出現空指針的幾率,相反,如果需要傳入null,則只需在類型后面添加"?"如

package com.poorren.pojo

/**

* Created by William.Wei on 2015/11/29.

*/

data class People(var name:String?="People",val age:Int=0) {

fun say(){

println("I'am $name,$age years old")

}

}

這里只做簡單的記錄,其他特性不再一一貼出示例,有興趣歡迎大家一起學習、交流。

初識Kotlin
文章《初識Kotlin》二維碼
  • 微信打賞
  • 支付寶打賞

已有4條評論

  1. 推特營銷

    [禮花] 非常不錯,謝謝!

    2016-02-20 18:17 回復
  2. 雅琳

    真的謝謝了!

    2015-12-06 00:57 回復
  3. 雅琳

    創意哦!博主高人啊 謝

    2015-12-06 00:57 回復
  4. 山嵐云煙

    這個主題非常不錯哦~

    2015-12-02 16:17 回復

(必填)

(必填)

(可選)

黑龙江22选5开奖