Kotlin嘗鮮

最近google官方宣布kotlin成為安卓官方開發語言,被稱為安卓界的swift,很久沒有碼代碼的我打開了AS嘗嘗鮮。

Kotlin是什么

Kotlin是一門靜態類型、基于JVM的語言,是由JetBrains開發的,沒錯就是開發Android Studio的公司。


Kotlin的優勢

  • 簡潔性
    我們都知道Java一直都被吐槽說繁瑣冗雜,而Kotlin應該就是上天派來拯救安卓開發者的吧。
    舉個簡單的例子,你們應該都會討厭一個東西,那就是getter和setter,即使有插件可以自動填充,你也會覺得看到這些代碼覺得很煩躁吧。
    Java中僅僅是3個變量的類就要寫這么一大串
public class Data {
    private int id;
    private String account;
    private String password;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

而Kotlin只需要短短幾行

class Data {
    var id: Int = 0
    var account: String? = null
    var password: String? = null
}

也可以通過構造函數賦值

class Data(var id: Int, var account: String?, var password: String?)

是不是有種相見恨晚的感覺

  • 空安全
    空指針幾乎是大部分bug的原因所在,而Kotlin會幫我們極大的降低空指針的可能。一旦要求變量不能為空,那么空指針異常的可能性就沒有了。
    舉個簡單的例子:
val anInt: Int = null // 錯誤
val anotherInt: Int? = null // 正確
  • 拓展類
    Java中的API都是比較簡單的,很多時候我們要組合處理,于是產生了Utils類。我們只需要重寫一個拓展方法,感覺就像Java給我們提供了這么一個方法,優點就是簡化了調用過程。
  • 函數式支持
    Kotlin支持Lambda表達式,會讓我們的程序看起來更加簡潔明了。
  • 編譯速度稍快
    Kotlin VS Java:編譯速度大比拼,到底誰更快?
    這篇文章測試了Java和Kotlin的編譯速度,當然在這方面Kotlin并不會有太大優勢,但至少,它已經不會輸給Java了。
  • 等等(其他的我也不了解了)

Kotlin試用與學習

劃重點劃重點

其實這篇中真正是我探索到的也就這么點東西了。
記錄下我根據官方文檔來試用Kotlin的經歷。
就在我寫下這篇文章不久前,AS似乎發布了3.0,已經支持了Kotlin的直接使用。如果你還在用2.x并且想試試的話,就跟著做就好了。

  • 首先安裝Kotlin的插件
    File | Settings | Plugins | Install JetBrains plugin,然后搜索Kotlin點擊install就好了
  • 轉換一下Java代碼
    使用Find Action方法(windows中是ctrl+shift+A),搜索convert java file to kotlin,將一個java文件轉換為kotlin代碼。
轉換前
轉換后
  • 然后開始編輯代碼,AS會提示你configure
  • 然后選擇最新的版本配置
  • 之后sync一下gradle和project就可以了
  • 接下來你就可以愉快的開始寫kotlin代碼了
    剛開始學習,很多可能都不懂,有一個簡單的學習方法是寫好java文件然后轉換為kotlin進行學習(ctrl+shift+alt+k),但是有時候你會發現轉換之后會報錯,因為kotlin和java的語法還是有些許出入,雖然從java轉kotlin不會很難,但也不是那么容易上手的。

Kotlin語法怎么學

我也還不會啊。
推薦一份中文文檔給大家
https://github.com/huanglizhuo/kotlin-in-chinese


結語

其實這篇毫無營養的文章,只是為了百步梯湊線上分享哈哈。


以上借鑒了很多文章,表示感謝:
http://blog.csdn.net/sergeycao/article/details/54984108
http://www.techug.com/post/kotlin-vs-java.html
http://www.codeceo.com/article/android-developer-know-kotlin.html
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0226/4000.html
http://www.infoq.com/cn/news/2015/06/Android-JVM-JetBrains-Kotlin
當然,最好的學習方法還是上kotlin官網看英文文檔啦

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容