在Java中,我们通常可以在
但是它真的是吗?
while
条件中执行赋值操作。然而,Kotlin对此进行了投诉。因此,以下代码无法编译:val br = BufferedReader(InputStreamReader(
conn.inputStream))
var output: String
println("Output from Server .... \n")
while ((output = br.readLine()) != null) { // <--- error here: Assignments are not expressions, and only expressions are allowed in this context
println(output)
}
根据这个帖子,这似乎是最好的解决方案:
val reader = BufferedReader(reader)
var line: String? = null;
while ({ line = reader.readLine(); line }() != null) { // <--- The IDE asks me to replace this line for while(true), what the...?
System.out.println(line);
}
但是它真的是吗?
it
语法糖的存在。太神奇了,还在不断学习中 :D - PedroDforeach
更改为forEach
。不管怎样,非常感谢您的答案! - Takamitsu Mizutori