成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Google "招安"了Kotlin Kotlin初體驗

企業(yè)動態(tài)
每個語言的流行都需要一個引爆點,就像Ruby on Rails 引爆了Ruby 一樣, Android 也許是之前不那么流行的Kotlin的引爆點。

[[191780]]

今天多個群都炸了鍋,原因很簡單: Google "招安"了Kotlin , 成為Android 平臺的first-class 開發(fā)語言。

據(jù)說在發(fā)布會上,這個消息的宣布獲得臺下最熱烈的歡呼聲。 這是為什么? 難道是因為Android開發(fā)者一直羨慕iOS有簡單好用的Swift, 但是自己只能用“傻大笨粗” 的Java, 現(xiàn)在終于可以翻身了,Kotlin救世主降臨了!

作為熱愛技術(shù)的碼農(nóng), 肯定***時間要去折騰一下。 不要在百度浪費時間, 直奔官網(wǎng)(https://kotlinlang.org)就好。

嗯,官網(wǎng)還算大氣, 不過作為開源的語言,應(yīng)該用個動物做Logo 啊 :-) 參見《這個動物園,兩年也逛不完》

一、Hello world 的秘密

Hello world很快就映入眼簾:

別看代碼很短,里邊藏著很多秘密:

1. 這是一個強類型語言, 變量的類型確定以后,就不能改了

沒有聲明類型的msg 怎么辦? 肯定是自動推導(dǎo)出來的, 是個字符串。此外 msg 類型已經(jīng)確定為字符串, 你要是想把msg改成整數(shù): msg = 5 ,肯定是要報錯的。

強類型有個巨大的優(yōu)勢,就是可以在編譯期自動做類型檢查, 幫助程序員發(fā)現(xiàn)很多錯誤。

2. 怎么和Go, Scala一樣, 把類型放到了變量名的后邊, 讓人有真氣逆行的感覺, 不調(diào)整下還真容易走火入魔。為什么要這樣?

Kotlin 的FAQ上說: We believe it makes the code more readable. Besides, it enables somenice syntactic features, for instance, it is easy to leave type annotations out. Scala has also proven pretty well this is not a problem.

嗯,更有可讀性,漂亮的語法特征, 似乎有點道理, 到底是不是這樣還得再研究, 既然人家已經(jīng)確定這樣了,就慢慢適應(yīng)吧。

3. 為了輸出hello world終于不用寫一個無用的類了!

但是等等, 這個Kotlin 不是號稱可以和Java 100%互操作嗎, 那java 程序想調(diào)用這些函數(shù)怎么辦? 沒有類怎么調(diào)用?

稍微想一想就會明白, Kotlin背后肯定需要生成一個類, 在這里類中有個靜態(tài)方法sum, 這樣才能讓別人使用嘛。

4. 我”熱愛 ”的public static void 去哪里了? System.out去哪兒了

對不起, kotlin需要的是精簡的語法, 已經(jīng)把細節(jié)給你隱藏起來了, 如果你用javap 看看背后生成的類,就會看到public static void main() 老老實實的在那里待著呢!

至于System.out,肯定是自動導(dǎo)入了, 你要是不嫌麻煩,寫成java.lang.System.out.println("hello world") 應(yīng)該也可以運行。

二、基本語法

Kotlin支持定義一個只能賦值一次的變量, 其實就是final 了:

這個語法糖還是挺方便的, 要想定義一個真正的變量該怎么辦?還有一個關(guān)鍵字: var

至于那些流程控制語句 if, else, for ,while 實在是沒什么新奇的,跳過。

這個when 是很不錯的, 比java中的switch 不知道要高到哪里去了, 簡直讓人愛死了。

三、類 

感覺不錯吧?

聲明了一個類, 構(gòu)造函數(shù)中的參數(shù)是name和age , 然后就可以當(dāng)做屬性來使用了,不用getter/setter 方法。

唉, 對我這個有分號強迫癥的人, 語句之間不寫分號還是挺痛苦的, 慢慢適應(yīng)吧。

四、繼承和多態(tài)

一個類想被繼承, 必須標(biāo)注為open 才行!

一個方法想被override , 展示出多態(tài), 父類的方法也得open , 子類需要聲明override!

這個規(guī)定要求真是嚴格啊!

五、Data class

在Java中我們經(jīng)常創(chuàng)建一些只保持數(shù)據(jù),而沒有啥實際行為的類, 再來點語法糖:

hashCode, equals方法自動生成

toString自動生成

getter/setter自動生成

很貼心吧?

六、集合

寫程序,基本的數(shù)據(jù)結(jié)構(gòu)是必備, kotlin也有語法糖前來助陣:

正如你能想到的, Kotlin 可以輕松地調(diào)用Java 的集合來做事情。

七、總結(jié)

Kotlin的特性有很多,沒法在這里一一展示, 就體驗到這里吧。

總的來說, Kotlin這門語言簡化了Java , 完全是從一個是實用派的角度,而不是學(xué)院派的角度。

我在寫代碼的時候,總是有一種寫Javascript的感覺。

相比于JRuby , Jython這些一移植到JVM上的語言, Kotlin 和Java 和互操作感覺更加自然,但可能也是受限于Java平臺, 寫出的代碼還是沒有Ruby 那么優(yōu)雅。

每個語言的流行都需要一個引爆點,就像Ruby on Rails 引爆了Ruby 一樣, Android 也許是之前不那么流行的Kotlin的引爆點。

如果你是Android 開發(fā)者, 可以馬上學(xué)習(xí)下Kotlin ,畢竟有Google的支持,相比Java, Kotlin能極大的減少代碼量,代碼看起來也清晰易懂, 值得投入。如果是Java 后端程序員, 我覺得可以初步了解, 觀望一下。

【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2012-11-19 13:53:42

職場Google實習(xí)生

2014-12-11 09:56:33

DockerKubernetesGoogle

2022-02-28 10:38:13

Kotlin插件Android

2017-08-03 15:54:50

Kotlin繼承

2009-08-01 09:06:35

UbuntuOneLinux開源操作系統(tǒng)

2009-03-09 15:12:39

XenServer安裝

2018-06-05 10:30:28

KotlinJava語言

2023-07-15 08:01:38

2010-11-22 10:31:17

Sencha touc

2011-05-30 15:12:10

App Invento 初體驗

2018-01-03 11:51:06

KotlinTipsJava

2017-12-27 14:51:12

Kotlin谷歌Java

2018-09-17 11:10:06

2009-11-30 10:09:02

谷歌Chrome OS

2011-08-02 10:26:59

iOS 多線程 線程

2011-11-01 10:30:36

Node.js

2013-06-08 10:15:29

Outlook 201Outlook 201

2011-09-15 15:03:10

2010-12-13 11:39:39

2025-03-18 07:30:41

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区视频在线免费观看 | 久久黄色精品视频 | 欧美日韩成人一区二区 | 亚洲一区二区视频 | 欧美福利影院 | 求个av网址 | 日本三级黄视频 | 久久免费小视频 | 国产黄色一级电影 | 日韩免费网 | 亚洲区中文字幕 | 99福利视频| 精品国产乱码久久久久久闺蜜 | 久久黄网 | 91亚洲国产成人久久精品网站 | 免费在线观看一区二区三区 | 日本一区二区三区免费观看 | 久久综合久| 欧美国产日韩在线 | 999国产视频 | 精品视频一区二区三区在线观看 | 九九九久久国产免费 | 亚洲视频免费在线看 | 亚洲人成免费 | 小川阿佐美pgd-606在线 | 精品影视| 日韩精品影院 | 欧美成人精品激情在线观看 | 亚洲国产免费 | 成人免费毛片片v | 国产人成精品一区二区三 | 午夜爽爽爽男女免费观看影院 | 国产精品久久久久久久久久久久 | 国产乱码精品一品二品 | 国产亚洲精品一区二区三区 | 人人艹人人 | 美女黄视频网站 | 国产黄色在线 | 午夜网 | 久草网站 | 亚洲国产69 |