我有以下非常简单的kotlin代码来演示infix函数包com.lopushen.demo.presentation
fun main(args: Array<String>) {
print("Hello " x_x "world")
}
infix fun String.x_x(s: String) {
println("$this x_x $s x_x")
}
Run Code Online (Sandbox Code Playgroud)
而预期的结果是
Hello x_x world x_x
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
下面的实际结果,是什么导致程序打印kotlin.Unit?
Hello x_x world x_x
kotlin.Unit
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
您的程序中有两个打印语句.x_x函数内部的一个打印"Hello world"字符串,并main打印出x_x函数的返回值.该函数没有任何return语句或声明的返回类型,因此Kotlin推断Unit其返回类型.该Unit类型具有单个值,kotlin.Unit这是您的程序打印的值.
| 归档时间: |
|
| 查看次数: |
895 次 |
| 最近记录: |