kotlin開發思想入門
失去的才是永恆的。 ——《泰坦尼克號》
文章目錄
什麼是kotlin?
kotlin的由來是Kotlina,那 Kotlina又是什麼? Kotlina是一個地名,該語言的發明者在Kotlina旅遊的時候,想到了如何改進現在的java語言呢,是的這玩意兒和java有關係,所以他發明的語言就叫做kotlin了。嗯,和java的命名一樣隨意。
總的來說,Kotlin 是一種在 Java 虛擬機器上執行的靜態型別程式語言,被稱之為Android 世界的Swift,由 JetBrains 設計開發並開源。Kotlin 可以編譯成Java位元組碼,也可以編譯成 JavaScript,方便在沒有 JVM 的裝置上執行。
在Google I/O 2017中,Google 宣佈 Kotlin 成為 Android 官方開發語言。
kotlin和java有什麼區別?
- 首先我們得認得kotlin的檔案,他就是以.kt為結尾的檔案,例如hello.kt
- 和java相比較,句子的結尾再也不用寫分號“;”了
- kotlin原始檔不需要相匹配的目錄和包,原始檔可以放在任何檔案目錄
- 函式定義使用關鍵字 fun,引數格式為:引數 : 型別,例如:
fun sum(a: Int, b: Int): Int { // Int 引數,返回值 Int
return a + b
}
、、、、、、等等,其他的語法我在此不再贅述。如有需要可在下方留言
那麼kotlin到底改進了什麼?有什麼優點呢?
- 易表現
在Java中,如果我們要典型的資料類,我們需要去編寫(至
少生成)這些程式碼:
public class Artist {
private long id;
private String name;
private String url;
private String mbid;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName( ) {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getMbid() {
return mbid;
}
public void setMbid(String mbid) {
this.mbid = mbid;
}
@Override public String toString() {
return "Artist{" +
"id=" + id +
", name='" + name + '\'' +
", url='" + url + '\'' +
", mbid='" + mbid + '\'' +
'}';
}
}
如果我們使用kotlin,那麼我們只需要下面程式碼:
data class Artist(
var id: Long,
var name: String,
var url: String,
var mbid: String)
}
這個資料類,它會自動生成所有屬性和它們的訪問器,以及一些有用的方法
- 空安全(空指標異常)
在java開發中,我們如果想要程式可以正常執行,那麼它必須是空安全的,也就是說,當程式遇到空指標異常,並且沒有做空判斷的時候,那麼程式就會崩潰,這是我們最頭疼的事。
但是kotlin是空安全的,因為我們需要通過一個 安全呼叫操作符 ( ? 或 !!)來明確地指定一個物件是否能為空。如果該物件可能為空,但是卻沒有加上安全呼叫操作符,那該程式就編譯不過。例如:
// 這裡不能通過編譯. Artist 不能是null
var notNullArtist: Artist = null
// Artist 可以是 null
var artist: Artist? = null
、、、、、、等等
這篇kotlin開發思想入門到此就結束了,可能有人就會問,“上面什麼也沒寫嘛,只有一些簡單的例子”,當然了,我的目的只是向大家介紹kotlin這個語言和java的區別和主要優點,讓大家能產生對kotlin的興趣,一篇博文也不可能能像一本書一樣介紹的那麼詳細。
畢竟2017年穀歌才開始推廣kotlin,國內的普及率還不是很高,大家看到這篇文章能夠知道kotlin也是好的,不過國內某些大公司已經開始用kotlin來開發安卓應用,之前拆包注意到百度網盤安卓版就是用kotlin寫的。
說實話國內現在的kotlin教程還沒有,都是一些零散的教程,但是有興趣的話,給大家推薦一本書《Kotlin for android Developers》。