????????Kotlin也已經(jīng)出現(xiàn)了有一段時間了,雖然之前有看過一點但是一直沒有重視它,最近因為公司的Android大佬已經(jīng)在另外的項目中使用了.
先來簡單的介紹一下:
????? ? Kotlin 是一種在 Java 虛擬機(jī)上運行的靜態(tài)類型編程語言汤踏,它也可以被編譯成為 JavaScript 源代碼解取。它主要是由俄羅斯圣彼得堡的 JetBrains 開發(fā)團(tuán)隊所發(fā)展出來的編程語言宵统,其名稱來自于圣彼得堡附近的科特林島塔沃。2012 年 1 月,著名期刊《 Dr. Dobb’s Journal 》中 Kotlin 被認(rèn)定為該月的最佳語言九默。雖然與 Java 語法并不兼容,但 Kotlin 被設(shè)計成可以和 Java 代碼相互運作椅野,并可以重復(fù)使用如 Java 集合框架等的現(xiàn)有 Java 類庫.在 Google I/O 2017 中力奋,Google 宣布在 Android 上為 Kotlin 提供支持.
從Hello World 開始:
????????因為官方AndroidStdio3.0已經(jīng)集成了 Kotlin 插件,所以如果你的AndroidStudio如果是3.0以上的版本那么直接新建一個項目.
? ? ? ? 咦!?看起來好像差別不大,下面我就詳細(xì)介紹一下一些基本語法的區(qū)別:
? 基本數(shù)據(jù)類型:
? ???Kotlin 的基本數(shù)值類型包括 Byte榜旦、Short、Int景殷、Long溅呢、Float、Double 等猿挚。不同于Java的是咐旧,字符不屬于數(shù)值類型,是一個獨立的數(shù)據(jù)類型绩蜻。
? ? Java:
? ? Kotlin:
?比較:
? ?Java:
? ?Kotlin:
循環(huán):
? Java:
? ?Kotlin:
?類和對象:
? ?Java:
? ? Kotlin:
函數(shù)定義:
? ?Java:
? Kotlin:
? ? ? ? ? ? ? ?函數(shù)定義使用關(guān)鍵字 fun铣墨,參數(shù)格式為:參數(shù) : 類
?繼承:
? ? Java:
? ? Kotlin:
?Kotlin語言的特點:
? ? ? ?空安全:當(dāng)我們使用Java開發(fā)的時候,我們總是會需要添加非空判斷办绝,但是Kotlin的表現(xiàn)卻是不一樣的伊约,它需要調(diào)用一個操作符“ ?”來明確指定一個對象八秃,或者一個屬性變量是否可以為空碱妆。
? ????? 拓展方法:?Kotlin允許我們擴(kuò)展現(xiàn)有類的功能,而不繼承它們昔驱。意味著Kotlin提供了擴(kuò)展具有新功能的類的能力,而無需繼承類上忍。這是通過擴(kuò)展功能完成的骤肛。要聲明一個擴(kuò)展功能,我們需要用一個接收器類型窍蓝,即被擴(kuò)展的類型來加上它的名字腋颠。
? ? ? ? ? ? ? ? ? ? ——————————————————————————————等等。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ————————未完待續(xù)