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

标签 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

最佳答案

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

关于kotlin - 简单的 kotlin 示例在打印中缀函数结果时打印 kotlin.Unit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43217825/

相关文章:

android - 在 kotlin 中,如何在目标需要 List 的地方传回 MutableList

kotlin - 简洁地在Kotlin中对类属性进行加法

android - 如何在 Kotlin 中抑制单行警告

android - 私有(private)属性名称与正则表达式不匹配

java - Kotlin for android 和 static final 内部类

java - Kotlin:Java 无法解析 Kotlin Symbol?

reflection - 如何在 Kotlin 中获取变量的运行时类?

kotlin - 在 micronaut 属性中使用数据类

android - 如何在Kotlin Android UI测试中初始化模拟的外部依赖项

intellij-idea - IntelliJ 中的两个 JVM Kotlin "create project"选项有什么区别?