为什么 readLine 中的字符串模板在 Kotlin 中不起作用?

问题描述

我的代码

fun main() { 
    println("What's your name?")
    val name= readLine()
    println("Hello $name")
} 

输出
你叫什么名字?
阿巴斯
你好

我的问题是:为什么没有打印 $name?输入“Abhas”后,它不显示任何内容,然后在我按下 Enter 后,它只打印“Hello”。

解决方法

我不知道为什么它不适合你 - 它正在读取一些输入或者它不会到达 println 语句,并且它正在打印 name 的值(它有一个值,否则它会说 null).

猜测,这与您提供输入的方式有关,它读取的第一行是空的,因此您得到一个空字符串 ("")。你说你的输出是这样的:

What's your name?
Abhas
Hello

在键入 Abhas 之前,您是否按 Enter/Return 键进入下一行?这在我使用的 REPL 中没有任何作用,但它可能算作控制台中的(空)输入行