简单的kotlin示例在打印中缀函数结果时打印kotlin.Unit

时间:2017-04-04 21:14:12

标签: kotlin

我有以下非常简单的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

1 个答案:

答案 0 :(得分:5)

您的程序中有两个打印语句。 x_x函数中的一个打印“Hello world”字符串,main中的一个字符串打印x_x函数的返回值。该函数没有任何return语句或声明的返回类型,因此Kotlin推断Unit作为其返回类型。 Unit类型只有一个值kotlin.Unit,这是您的程序打印的内容。