1. 程式人生 > >Kotlin筆記(一)

Kotlin筆記(一)

這篇主要寫Kotlin的簡介,Kotlin是幹什麼的,能夠幹什麼,與Java相比的優勢。

Kotlin到底是什麼?它是一種針對Java平臺的新程式語言。Kotlin簡潔、安全、務實,並且專注於與Java程式碼的互相操作性。它幾乎可以用在Java使用的任何地方:伺服器端開發、Android應用等等。Kotlin可以很好的和所有現存的Java庫和框架一起工作,而且效能水平和Java旗鼓相當。

1.1Kotlin的主要特徵

1.1.1目標平臺:伺服器端、Android及任何Java執行的地方

1.1.2靜態型別:Kotlin和Java一樣都是一種靜態型別的程式語言。這意味著所有表示式的型別在編譯期已經確定了,而編譯器就能驗證物件是否包含了你想訪問的方法或者欄位。另一方面,與Java不同的是,Kotlin不需要你在原始碼中顯示宣告每個變數的型別。很多情況下,變數型別可以根據上下文自動判斷,這樣可以省略型別宣告。編譯器這種從上下文推斷變數型別的能力被稱作型別推導。

靜態型別帶來的好處:

1)效能--方法呼叫速度更快,因為不需要再執行時才來判斷呼叫的是哪個方法。

2)可靠性--編譯器驗證了程式的正確性,因而執行時崩潰的概率更低

3)可維護性--陌生程式碼更容易維護,因為你可以看到程式碼中用到的物件的型別

4)工具支援--靜態型別使IDE能提供可靠的重構、精確的程式碼不全以及其他特性

1.1.3函式式和麵向物件

函數語言程式設計的核心概念如下:

1)頭等函式--把函式當作值使用,可以用變數保護它,把它當做引數傳遞,或者當做其他函式的返回值

2)不可變性--使用不可變物件,這保證了它們的狀態在其建立之後不能再變化

3)無副作用--使用的是純函式。此類函式在輸入相同時會產生同樣的結果,並且不會修改其他物件的狀態,也不會和外面的世界互動。

函數語言程式設計風格的程式碼好處:

1)簡潔--函式式風格的程式碼比相應的命令式豐富的程式碼更加優雅、更簡練,因為函式當做值可以讓你獲得更強大的抽象能力,從而避免重複程式碼。

2)多執行緒安全--多執行緒程式中最大的錯誤來源之一,就是,在沒有采用適當同步機制的情況下,在不同的執行緒上修改同一份資料。如果你使用的是不可變資料結構和純函式,就能保證這樣不安全的修改根本不會發生,也就不需要考慮為其設計複雜的同步方案。

3)函數語言程式設計意味著測試更加容易

Kotlin擁有豐富的特性集從一開始就支援函數語言程式設計風格

1)函式型別,允許函式接受其他函式作為引數,或者返回其他函式

2)lambda表示式,讓你用更少的樣板程式碼方便傳遞程式碼塊

3)資料類,提供了建立不可變值物件的簡潔語法

4)標準庫中包含了豐富的API集合,讓你用函數語言程式設計風格操作物件和集合

1.1.4免費開源

1.2Kotlin應用

1.2.1伺服器端的Kotlin

1.2.2Android上的Kotlin

1.3Kotlin的設計哲學

1.3.1務實

1.3.2簡潔

1.3.3安全

1.3.4互操作性

1.4使用Kotlin工具

1.4.1IntelliJ IDEA和Android Studio外掛

1.4.2互動式shell

1.4.3Eclipse外掛

1.4.4線上playground

Java到Kotlin的轉換器

在IntelliJ IDEA和Android Studio中使用轉換器,當你賦值Java程式碼貼上到Kotlin檔案中,要麼觸發“Convert Java File to Kotlin File”(轉換Java檔案到Kotlin檔案)動作來轉換整個檔案。也可在Eclipse中或者線上使用轉換器