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
广告