我有以下非常简单的kotlin代码来演示中缀函数 包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")
}
预期结果是
Hello x_x world x_x
Process finished with exit code 0
下面的实际结果是什么导致程序打印kotlin.Unit?
Hello x_x world x_x
kotlin.Unit
Process finished with exit code 0
答案 0 :(得分:5)
您的程序中有两个打印语句。 x_x
函数中的一个打印“Hello world”字符串,main
中的一个字符串打印x_x
函数的返回值。该函数没有任何return
语句或声明的返回类型,因此Kotlin推断Unit
作为其返回类型。 Unit
类型只有一个值kotlin.Unit
,这是您的程序打印的内容。