大家好,歡迎加入小李君的Kotlin學(xué)習(xí)之旅。今天是小李君學(xué)習(xí)Kotlin的第二天,本文將簡述Kotlin語法糖,let‘s do it。
昨日回顧:
- 訪問官網(wǎng)https://kotlinlang.org
- 點(diǎn)擊learn,看Tutorial 文檔
- 在Jetbrain IDEA上新建工程,寫main函數(shù),打印Hello World,運(yùn)行程序
今日內(nèi)容:
- 訪問官網(wǎng)https://kotlinlang.org/docs/reference/ ,快速看完Overview
- 直接進(jìn)入閱讀Getting Started - Basic Syntax
- 練習(xí) Basic Syntax 上的例程
第一步:
看看Overview,并暫且忽略它。
小李君認(rèn)為,在學(xué)習(xí)的初期,仔細(xì)研讀Overview的經(jīng)文,是很難有深刻理解的,往往容易讓新手一臉蒙蔽、無所適從。所以,小李君只簡單說一下,讓大家有個(gè)印象,等大家學(xué)成出山后再回過頭來細(xì)細(xì)品味。
- Kotlin可以寫服務(wù)端程序,Spring 5將支持更多Kotlin語法糖,讓你寫得更爽。
- Kotlin可以寫Android程序,谷歌直接背書,如同Golang,你懂的。
- Kotlin可以寫Web前端,NodeJS程序。直接玩DOM,JQuery,ReactJS,各種JS,支持ES5,還打算支持ES6;這野心,嗯。
第二步:
研讀Getting Started - Basic Syntax
- package,包,跟Java一樣套路,直接過。
- function,函數(shù),以fun開頭,有點(diǎn)意思,也很簡單。
- variable,變量,以val為只讀變量(常量),以var為可變變量。666~
- comment,注釋,跟Java一樣套路,/* 稍微先進(jìn)一點(diǎn) */,直接過。
- string template, 字符串模板,跟Shell Script一樣套路,其實(shí)是變量占位符。讓你不用拼接字符串,“輕松遠(yuǎn)離” + “字符串” 。
- conditional expression, 條件表達(dá)式,寫 if 語句不用再換行再換行了,簡單的判斷直接一行搞定,if(a>b) a else b。
- nullable values, 空值處理,注意官方例子中返回的類型有個(gè)問號,意思是如果你的函數(shù)會返回空值,那么請你顯式地標(biāo)注它,讓調(diào)用者知道你的函數(shù)有毒。這是Kotlin的殺手級特性之一,小李君為此慕名而學(xué)這門語言。
- type checks and automatic casts,類型檢查及自動(dòng)轉(zhuǎn)換,這里官方例子會有個(gè)小跳躍,字符串模板中用上三目運(yùn)算符? : ,以此引出 if 判斷的處理可能跟 Javascript 一樣。以 is 替代 instanceof 和 typeof,!is能取反。能用上自動(dòng)轉(zhuǎn)換的前提是常量( immutable local variable or property)。這里雖然有點(diǎn)懵逼,但不妨礙粗淺理解,以后再細(xì)究。
- for loop,for循環(huán),就是foreach,很簡單。
- while loop,while循環(huán),還是那個(gè)幾十年前的模樣,風(fēng)味不變。
- when expression,when表達(dá)式,就是switch case,語法更簡練。
- ranges,范圍,多用在快速初始化數(shù)組上,有點(diǎn)意思。
- collections,集合,這個(gè)collection跟Java的Collection家族差不多,語法糖更強(qiáng)更簡練。
第三步:
練習(xí) Basic Syntax 例子,把官網(wǎng)的例程都看一遍且運(yùn)行一遍。
不一定全部都練一遍,但起碼做到大概有個(gè)印象,等真正實(shí)戰(zhàn)的時(shí)候,帶著這些印象加深理解和記憶即可。新手們千萬別死記硬背語法糖,千萬別覺得要完全默寫語法糖出來才能開始真正寫些完整的程序;其實(shí),小李君更加喜歡邊寫邊查。官方文檔在手,天下程序我有。