Kotlin 語法學習筆記(上)

寫了好長時間的移動端程序,都是基於 Java 的,時代在改變,現在有好多 Kotlin 的示例,雖然不一定以後會用到 Kotlin 去構建工程,但是不好說會有需要參考的 Kotlin 示例,直接看 Kotlin 的工程感覺有點喫力,學一點新的語言,豐富一下自己的技術寬度。

注:以下示例都是基於 Android 平臺

函數聲明和定義

每種語法在函數的使用上都會有些區別,先看看 Kotlin 的函數是怎麼使用的

1、一般函數的聲明

    private fun caculate(a : Int, b : Int) : Int{
        return a + b
    }

上述示例裏面和 Java 最大的區別就是入參的形式,參數名在前,參數類型在後,使用 : 分開,函數聲明的結尾處表示該函數的返回類型

2、匿名函數,在使用線程的時候,很多時候會開闢一個短小的匿名線程類似

    var testfun : (Int, Int) -> (Int) = {a,b -> a + b}
    var testSum = testfun(3,4);

匿名函數分前後兩部分,前部分表示入參和出參類型,後部分表示實際的處理

變量聲明

    var name : String = "a" //一般變量
    val age : Int = 19      //常量,類似 Java 的 final 類型    

字符串拼接

在最終獲取的字符串上使用 $,表示一個變量名或者變量值,用於替換變量的實際數據

    var tmp = 1
    val finalStr = "tmp is $tmp"  

NULL檢查機制

Kotlin 的 null 安全設計對於聲明可爲空的參數,強制使用時進行判空處理
在這裏插入圖片描述

在函數聲明結束使用 ? 可以,可以返回不符合要求的類型
在這裏插入圖片描述

數字比較

Kotlin 中沒有基礎數字類型,只有封裝的數字類型,定義的每一個變量,都是 Kotlin 封裝的一個對象,通過封裝的對象可以保證不會出現空指針。所以在比較兩個數字時,就只有比較數據大小和對象是否相同。使用三等號 === 表示比較對象地址,雙等號 == 表示比較數值值大小。

位操作符

以下時常用的位操作符,分別是:

shl – 左移位 (對應 Java 的 <<)
shr – 右移位 (對應 Java 的 >>)
ushr – 無符號右移位 (對應 Java 的 >>>)

When 表達式

when 將它的參數和所有的分支條件順序比較,直到某個分支滿足條件,類似 Java 中的 switch-case 語法,不同點在於,支持 isin 關鍵字。

        val items = setOf("android", "ios", "windows")

        var x : String? = "123"
        when (x) {
//            is String -> Log.e("XXX", "333")  // 支持類型判斷
            in items -> Log.e("XXX", "222")		// 支持區間判斷
            else -> Log.e("XXX", "111")  //輸出 111
        }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章