KotlinNote-1.初識Kotlin
Kotlin是一種針對Java平臺的新程式語言。Kotlin 簡潔、安全、務實,並且專注於與Java程式碼的互操作性。它幾乎可以用在現在Java使用的任何地方:伺服器開發、Android應用,等等。Kotlin可以很好的和所有現存的Java庫和框架一起工作,而且效能水平和Java旗鼓相當。
3.Kotlin的主要特徵
3.1 目標平臺:伺服器開發、Android應用及任何Java執行的地方
3.2 靜態型別
Kotlin和Java一樣是一種靜態型別 的程式語言。這意味著所有表示式的型別在編譯期就已經確定了,而編譯器就能驗證物件是否包含了你想訪問的方法或者欄位。
3.3 函式式和麵向物件
3.3.1 函數語言程式設計的核心概念:
- 頭等函式—-把函式當作值使用,可以用變數儲存它,把它當作引數傳遞,或者當作其他函式的返回值
- 不可變性—-使用不可變物件,這保證了他們的狀態在建立後不能再變化
-
無副作用—-使用的是純函式。此類函式在輸入相同時會產生同樣的結果,並且不會修改其他物件的狀態,也不會與外面互動
3.3.2 函數語言程式設計的好處
- 簡潔函式式風格的程式碼比相應的命令式風格的程式碼更優雅、更簡潔,因為把函式當作值可以讓你獲得更強大的抽象能力,從而避免重複程式碼
- 多執行緒安全 多執行緒程式中最大的錯誤來源之一就是,在沒有采用適當同步機制的情況下,在不同執行緒上修改同一份資料。如果你使用的是不可變資料結構和純函式,就能保證這樣不安全的修改根本不會發生
- 測試更加容易 沒有副作用的函式可以獨立的驚醒測試,因為不需要寫大量的設定程式碼來構造他們所以來的整個環境。
3.4 免費並開源
4.Kotlin設計哲學
4.1 務實
Kotlin不是一門研究性的語言,Kotlin沒有試圖提升程式語言設計領域目前的技術水平,也沒有嘗試探索電腦科學的創新理念。反而,Kotlin儘可能的依賴已經出現在其他程式語言中並被證明是成功的那些特性和解決方案,降低了語言的複雜性,也讓它更容易學習。
在這裡提一點自己的學習小技巧,可以先通過Java風格程式碼編寫Kotlin程式碼,熟悉之後逐漸使用Kotlin特有的語法和習慣
4.2 簡潔
-
Kotlin中getter、setter方法都是隱式的以及將構造方法的引數賦值給欄位的邏輯,在Kotlin中都是隱式的
-
比如定位集合中的元素,Kotlin中有豐富的標準庫,讓你用庫方法來代替這些冗長重複的程式碼段
-
Kotlin對lambda的支援,讓小程式碼塊可以輕鬆的傳遞給庫函式
4.3 安全
Kotlin在執行時失敗的錯誤在編譯期的檢查中就被阻止了。最重要的一點是,Kotlin努力的從你的程式中消除NPE。Kotlin的型別系統跟蹤那些可以或不可以為null的值,並禁止那些執行時可能導致NPE的操作。
Kotlin有助於避免的另一種型別一場就是ClassCastException。當你把一個物件轉換成一種型別時,而沒有事先檢查它是否是正確的型別時,就會發生一場。在Java中,開發者常常忽略了這類檢查,因為必須反覆的在檢查和其後的轉換中寫明型別名稱。另一方面,Kotlin中的檢查和轉換被組合成了一次操作:一旦檢查過型別,不需要額外的轉換就能直接引用屬於這個型別的成員,