Hello Kotlin

HelloKotlin

Foreword

首先,獻上官方網(wǎng)址:Kotlin,官方介紹它是用于現(xiàn)代多平臺應(yīng)用的靜態(tài)類型編程語言,而且可以100%用于Java及安卓,這不2017-05-17的谷歌I/O大會上已正式宣布Kotlin為安卓官方語言,這不,Android Studio 3.0預(yù)覽版已自帶Kotlin插件,如果想要在線體驗,那就點擊這個傳送門吧。

Introduce

Kotlin不同于Swift,它的野心更大,它的平臺更廣,如下圖所示。

怎么樣,心動了嗎,是不是覺得可以做全棧了?哈哈。

那么,為什么要選擇Kotlin呢,官方給出了它的四大優(yōu)點。

1. 簡潔(Concise)

大幅度縮減樣板代碼。

E.g.

比如創(chuàng)建一個帶有getters, setters, equals()``,hashCode(), `toString() and copy()函數(shù)的POJP只需要一行代碼即可。

data class Customer(val name: String, val email: String, val company: String)

亦或者迭代一個鏈表用lambda表達式只需如下寫法。

val positiveNumbers = list.filter { it > 0 }

想要構(gòu)造一個單例?只需創(chuàng)建一個object即可。

object ThisIsASingleton {
    val companyName: String = "JetBrains"
}

2. 安全(Safe)

避免了蛋疼的空指針異常。

E.g.

曾經(jīng)的十億美元錯誤就是由空指針異常引起的,用Kotlin的話我們就可以避免它。

var output: String
output = null   // Compilation error

Kotlin可以避免你犯空指針引起的錯誤。

val name: String? = null    // Nullable type
println(name.length())      // Compilation error

如果你檢查了這個類型是對的,編譯器將會自動幫你轉(zhuǎn)型。

fun calculateTotal(obj: Any) {
    if (obj is Invoice)
        obj.calculateTotal()
}

3. 互用(Interoperable)

庫可以在JVM、安卓及瀏覽器端可以互用。

E.g.

可以使用任何可以運行在JVM上的庫,因為它具有100%的兼容性,包括支持SAM。

import io.reactivex.Flowable
import io.reactivex.schedulers.Schedulers

Flowable
    .fromCallable {
        Thread.sleep(1000) //  imitate expensive computation
        "Done"
    }
    .subscribeOn(Schedulers.io())
    .observeOn(Schedulers.single())
    .subscribe(::println, Throwable::printStackTrace)

它的目標(biāo)既可以是JVM也可以是JavaScript,你只需要用Kotlin寫完代碼,然后決定部署在哪即可。

import kotlin.browser.window

fun onLoad() {
    window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
}

4. 工具友好(Tool-friendly)

可以選擇任何Java的IDE或者用命令行編譯。

E.g.

Kotlin語言可以在JetBrains提供的工具大放異彩。

Learn Material

From Java To Kotlin(極力推薦)

Kotlin Github

Kotlin官方Doc

Kotlin官方Doc中文

Kotlin官方Doc中文PDF

Kotlin for Android Developers(有錢你就買吧)

Kotlin for Android Developers中文

Kotlin for Android Developers中文PDF

Kotlin sample

A Complete Guide To Learn Kotlin For Android Development

Get Started with Kotlin on Android

Conclusion

Kotlin已經(jīng)介紹完畢,之后就跟著我一起來學(xué)習(xí)它吧,我會把我所學(xué)到的都發(fā)布在HelloKotlin庫中,喜歡的話點個star給柯基動力吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容