当前位置: 首页 > 知识库问答 >
问题:

函数中返回单位的目的是什么

徐柏
2023-03-14
fun printHello(name : String?) : Unit { 
   if (name != null) 
     print("Hello, $name!") 
   else 
     print("Hi there!") 
   // We don't need to write 'return Unit.VALUE' or 'return', although we could 
}

共有1个答案

聂永怡
2023-03-14

其用途与C或Java的void相同。只有单元是一个适当的类型,所以它可以作为泛型参数传递。

>

  • 为什么我们不称之为“void”:因为“void”这个词意味着“nothing”,还有另一种类型,nothing,这意味着“根本没有值”,即计算没有正常完成(永远循环或抛出异常)。我们承受不起意义上的冲突。

    为什么Unit有一个值(即不等于没有):因为泛型代码可以顺利工作。如果将Unit传递给泛型参数T,则为任何T编写的代码都需要一个对象,而且必须有一个对象,即Unit的唯一值。

  •  类似资料:
    • 我把这个代码从Leaflet api。 不知道在

    • 我使用一个函数,当你调用她时,它返回字典,我应该写哪个命令来打印字典的键?谢了。

    • 问题内容: 刚发现Python有点奇怪,我想我会把 它 写成一个问题记录在这里,以防其他任何人试图用我曾经无用的搜索词来找到答案 看起来像元组拆包使之成为现实,所以如果您希望迭代返回值,则不能返回长度为1的元组。 虽然看起来看起来很欺骗。 查看答案。 问题答案: 您需要明确地使其成为一个元组(请参阅官方教程):

    • 问题内容: 我在某处读到,函数应始终仅返回一种类型,因此以下代码被视为错误代码: 我想更好的解决方案是 返回None然后创建一个新的空元组不是更便宜的内存明智的选择吗?或者即使在较大的项目中,这种时差也太小而无法引起注意? 问题答案: 为什么函数应该返回一致类型的值?满足以下两个规则。 规则1-函数具有“类型”-输入映射到输出。它必须返回一致的结果类型,否则它不是函数。一团糟。 从数学上讲,我们说

    • 如果我有一个Kotlin函数 我想从Java调用,我必须这样做: 看起来很难看。为什么我不能像

    • 有没有可能创建一个函数,它将lambda函数作为参数(每个lambda函数使用参数),然后返回一个具有单个参数的新函数,并返回所有lambda函数的乘积? 以下是我的非工作示例: 所以本质上,你有一个函数,它需要4个lambda函数,每个函数使用参数。例如,的参数可以类似于。 然后返回一个名为的新函数,该函数的输出是所有lambda函数的乘积,并且有一个参数,该参数传递到的每个lambda函数的参