You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin是否支持类似Python条件语句中的赋值表达式写法?

Kotlin的类似赋值表达式特性

当然有,Kotlin可以通过几种方式实现Python里这种「在条件语句中赋值并判断」的逻辑,下面是几种常用写法:

1. 直接在条件中赋值(需提前声明变量)

和Python海象运算符的逻辑最接近,利用Kotlin赋值表达式返回赋值结果的特性,不过变量需要提前声明为var:

val foo = listOf("a", "b", "c")
var bar: Int
if ((bar = foo.size) > 1) {
    println("List size: $bar")
}

运行结果:

List size: 3

2. 用run块限定变量作用域

如果不想提前声明变量,可以用run函数创建一个局部作用域,在里面完成赋值和判断,变量只会在这个块内生效:

val foo = listOf("a", "b", "c")
run {
    val bar = foo.size
    if (bar > 1) {
        println("List size: $bar")
    }
}

3. 函数式风格的takeIf+let

这是更符合Kotlin函数式编程习惯的写法,无需额外声明变量,直接把判断后的结果传递到后续逻辑:

val foo = listOf("a", "b", "c")
foo.size.takeIf { it > 1 }?.let { bar ->
    println("List size: $bar")
}

内容的提问来源于stack exchange,提问作者rkr87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 07:42:36