初始化Kotlin中作为函数的字段成员
Kotlin的新手,我看到了以下代码:初始化Kotlin中作为函数的字段成员,kotlin,Kotlin,Kotlin的新手,我看到了以下代码: val myModule : Module = module { viewModel { MyViewModel(get()) } single { MyRepository() } } 查看Kotlin文档,我不清楚“模块”后面的大括号是什么意思。模块是否为函数,大括号用于初始化函数?如果这是真的,你能告诉我Kotlin文档中指出这一点的部分吗?我在文档中找不到任何显示此示例的内容。以下是链接: 大括号表示模块函数接收lambda作为参数 大
val myModule : Module = module {
viewModel { MyViewModel(get()) }
single { MyRepository() }
}
查看Kotlin文档,我不清楚“模块”后面的大括号是什么意思。模块是否为函数,大括号用于初始化函数?如果这是真的,你能告诉我Kotlin文档中指出这一点的部分吗?我在文档中找不到任何显示此示例的内容。以下是链接:
大括号表示
模块
函数接收lambda作为参数 大括号表示模块
函数接收lambda作为参数 注意,您的示例看起来像是代码
在更一般的意义上:
在kotlin中,当函数的最后一个参数是另一个函数(请参阅)时,可以将其放在括号外,如果它是唯一的(非可选)参数,则可以忽略括号
在您的示例中,
module
viewModel
和single
是将另一个函数作为其唯一参数的函数,这样您就可以直接传递定义此参数的lambda,而无需任何括号。请注意,您的示例看起来像是代码
在更一般的意义上:
在kotlin中,当函数的最后一个参数是另一个函数(请参阅)时,可以将其放在括号外,如果它是唯一的(非可选)参数,则可以忽略括号
在您的示例中,
module
viewModel
和single
是将另一个函数作为其唯一参数的函数,这样您就可以直接传递定义此参数的lambda,而无需任何括号。来自Java背景,我很容易忘记Kotlin规则,如果最后一个参数是一个函数,那么它可以放置在paranthesis之外。你说得对,它是Koin的代码。谢谢。来自Java背景,我很容易忘记Kotlin的规则,即如果最后一个参数是函数,则可以将其放置在paranthesis之外。你说得对,它是Koin的代码。谢谢