Kotlin 中 Swift “if let” 語句的等價語句


Swift 中的“if let”是一個條件檢查運算子,用於檢查引用變數是否為 NULL。這是一種非常有用的技術,可以使用 Swift 語言來評估解包可選值。

在 Kotlin 中,我們不能直接使用此運算子。相反,我們將使用“let”和“run”來評估相同的內容。在下面的示例中,我們將看到如何使用 Kotlin 庫類使用“let”和“run”。

示例:使用 'let' 和 'run' 進行空值檢查

在此示例中,我們將檢查引用變數的值是否為 NULL。如果引用變數的值為 NULL,則將執行 'let' 程式碼塊,否則將執行 'run' 程式碼塊。

fun main(args: Array<String>) {
   val b="TutorialsPoint"
   val a = b?.let {
      // If b is not null
         println("First block");
   } ?: run {
         // If b is null.
         println("Second block");
   }
}

輸出

在我們的示例中,我們正在檢查變數“b”的值是否為 NULL。由於變數不為 NULL,因此編譯器將執行 'let' 程式碼塊,相應的輸出將為“第一個程式碼塊”。

First block

現在,讓我們將 'b' 的值更改為 NULL,如下所示。

示例

fun main(args: Array<String>) {
   val b= null
   val a = b?.let {
      // If b is not null.
      println("First block");
   } ?: run {
         // If b is null.
         println("Second block");
   }
}

輸出

現在輸出將更改為“第二個程式碼塊”,因為編譯器將執行 'run' 程式碼塊。

Second block

示例:使用 'also' 和 'run' 進行空值檢查

空值檢查也可以使用 Kotlin 中的 'also' 函式來實現。在此示例中,我們將看到它是如何工作的。我們將修改上面的程式碼並檢查變數“b”的值是否為 NULL。

fun main(args: Array<String>) {
   val b:String? = null
   b?.also{
      println("First block") // For not NULL value
   }?:run{
      println("Second block") // For NULL value
   }
}

輸出

Second block

在上面的示例中,變數的值明確地保持為“NULL”,因此我們得到輸出“第二個程式碼塊”。一旦我們修改“b”的值,那麼我們將得到輸出“第一個程式碼塊”。

fun main(args: Array<String>) {
   val b:String? = "TutorialsPoint"
   b?.also{
      println("First block")
   }?:run{
      println("Second block")
   }
}

輸出

First block

更新於: 2021-11-23

2K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.