I understand my first second example uses a lambda function with a single parameter passed in. I'm trying to understand why it would be different from my second boilerplate example where a double colon is used instead of a lambda. (still a kotlin newb trying to wrap my head around double colons coming from a python background)
class Service(services: PluginServiceHub) {
init {
services.registerFlowInitiator(Landlord::class.java) { Landlord(it) }
}
}
VS
class Service(services: PluginServiceHub) {
init {
services.registerFlowInitiator(IssuanceRequester::class.java, ::Issuer)
}
}
What does the ::Issuer
represent exactly?