I am struggling to understand how a function type with receiver works in Kotlin. I don't understand why we can use (String) -> Unit and String.() -> Unit in my code indistinctively
fun main() {
var showStringFunction1: (String) -> Unit = ::showString
showStringFunction1("Hey")
var showStringFunction2: String.() -> Unit = ::showString
showStringFunction2("Hey")
}
fun showString(x: String): Unit { println(x) }