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

如何在Kotlin的单个字符串插值${}中使用多个变量?

如何在单个${}中使用多个变量?

你给出的代码里,在Kotlin字符串插值的${}里用逗号分隔多个操作的写法是错误的,正确的实现方式有以下几种:

错误代码示例

fun main() {
    var a = 5
    var b = 20

    if (b % a == 0 && b > a++)
        print("statement 1st - ${a--, --b}")

    if (a % 5 == 0 || a >= b++)
        print("statement 2nd - ${a--, --b}")
}

正确实现方式

方式1:使用多个${}分别插入

这是最直观的做法,每个变量操作单独用${}包裹,用分隔符(比如逗号)连接:

fun main() {
    var a = 5
    var b = 20

    if (b % a == 0 && b > a++)
        print("statement 1st - ${a--}, ${--b}")

    if (a % 5 == 0 || a >= b++)
        print("statement 2nd - ${a--}, ${--b}")
}

方式2:在${}中用代码块组合结果

如果需要先执行一系列操作再组合输出,可以用run代码块,在块内完成操作后返回最终要显示的字符串:

fun main() {
    var a = 5
    var b = 20

    if (b % a == 0 && b > a++)
        print("statement 1st - ${run { val currentA = a--; val currentB = --b; "$currentA, $currentB" }}")

    if (a % 5 == 0 || a >= b++)
        print("statement 2nd - ${run { val currentA = a--; val currentB = --b; "$currentA, $currentB" }}")
}

这种方式适合需要临时保存操作后的值,或者有更复杂逻辑的场景。

注意事项

  • Kotlin的${}中只能容纳单个表达式,逗号分隔多个操作会被解析为创建Pair对象,不是输出多个值的正确写法。
  • a--和--b这类操作会改变变量本身的值,要确认执行顺序和逻辑符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:39:18