kotlin 中有一个
arrayOf
函数。我想以不同的名字拥有相同的东西。我试过:
val each = ::arrayOf<UUID>
val each = ::arrayOf
val each = ::<UUID>arrayOf
val each = arrayOf
我只收到编译错误。在科特林中可能吗?如何?或者我必须重复整个签名和调用?
这不起作用,因为
arrayOf
是一个带有具体化类型参数的 内联函数 。无法将此具体化类型参数存储为函数引用的一部分,也无法在通过函数引用调用函数时传递它。
如果你想给这个函数起一个别名,你需要以不同的方式定义它:
inline fun <reified T> each(vararg x: T) = arrayOf(*x)
我昨天看了这里介绍的主要基本概念,会有帮助https://softaai.com/function-programming-in-kotlin/