Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
初始化Kotlin中作为函数的字段成员_Kotlin - Fatal编程技术网

初始化Kotlin中作为函数的字段成员

初始化Kotlin中作为函数的字段成员,kotlin,Kotlin,Kotlin的新手,我看到了以下代码: val myModule : Module = module { viewModel { MyViewModel(get()) } single { MyRepository() } } 查看Kotlin文档,我不清楚“模块”后面的大括号是什么意思。模块是否为函数,大括号用于初始化函数?如果这是真的,你能告诉我Kotlin文档中指出这一点的部分吗?我在文档中找不到任何显示此示例的内容。以下是链接: 大括号表示模块函数接收lambda作为参数 大

Kotlin的新手,我看到了以下代码:

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的代码。谢谢