Kotlin中直接写字符串仅最后一行输出的原因咨询
Kotlin脚本中仅最后一个字符串输出的原因及解决方法
原因分析
在Kotlin脚本(.kts文件)环境里,只有脚本的最后一个表达式的结果会被自动输出到控制台。你代码里那些单独写的"a: $a"属于独立表达式,除了最后一行外,其余的没有绑定到任何操作,也没有显式调用输出函数,编译器不会为它们执行输出动作。
你看到的两行输出,一行是println("a: $a")显式调用输出函数产生的,另一行就是脚本最后一个字符串表达式被自动输出的结果。
解决方案
如果要让所有字符串都打印出来,必须给每个字符串显式调用输出函数,比如println():
var a: Int = 42 var b: Int = 1337 a = b b = a println("a: $a") println("a: $a") println("a: $a") println("a: $a") println("a: $a") println("a: $a")
额外说明
如果是在普通Kotlin应用程序(非脚本)中,这种单独写字符串的写法会直接触发编译错误,因为独立表达式不属于有效的语句。只有脚本模式才允许存在这类独立表达式,并且仅保留最后一个的输出行为。
内容的提问来源于stack exchange,提问作者Matthes Neumann
相关产品推荐
相关产品推荐

