引用扩展function?

是否有可能得到一个扩展function的引用,就像你可能为通常的function所做的(见这里 )?

我期望下面的代码来编译,但现在::String.toSomething是未知的:

 fun String.toSomething() = length + 1 val some = listOf("lala", "bebebe").map(::String.toSomething) 

在Kotlin中引用扩展方法可以通过在类名和方法名之间应用::运算符来完成:

 val function = Object::myExtensionMethod 

所以在你的情况下:

 fun String.toSomething() = length + 1 val some = listOf("lala", "bebebe").map(String::toSomething) 

你是这个意思吗?

 fun String.toSomething() = length + 1 val some = listOf("lala", "bebebe").map(String::toSomething) 

只要记住把::总是在函数之前