Kotlin中的变量、函数和类的局部声明是什么?
所以我开始学习android开发的Kotlin中的变量、函数和类的局部声明是什么?,kotlin,Kotlin,所以我开始学习android开发的kotlin。 但是,当我谈到可见性主题时,我遇到了这样一个问题,即: 本地声明 局部变量、函数和类不能具有可见性修饰符 Kotlin中的本地声明是什么 我在这里问你,这意味着我已经在互联网上做了搜索,但我得到的唯一结果是关于java和其他编程语言的,我不想把事情搞混,以免混淆。 非常提前感谢局部声明是放置在函数体(或构造函数、init块或属性访问器)中的声明 这些声明只能在声明它们的词法范围内引用: fun foo() { if (Random().
kotlin
。
但是,当我谈到可见性主题时,我遇到了这样一个问题,即:
本地声明
局部变量、函数和类不能具有可见性修饰符
Kotlin
中的本地声明是什么
我在这里问你,这意味着我已经在互联网上做了搜索,但我得到的唯一结果是关于java和其他编程语言的,我不想把事情搞混,以免混淆。
非常提前感谢局部声明是放置在函数体(或构造函数、init
块或属性访问器)中的声明
这些声明只能在声明它们的词法范围内引用:
fun foo() {
if (Random().nextInt() % 2 == 0) {
fun bar() {
println("bar")
}
bar() // OK
} else {
bar() // Error: unresolved reference
}
}
因此,这些声明永远不能在主体之外使用,因此可见性修饰符(通常控制在类型或文件之外是否可以访问声明)对于本地声明来说毫无意义
局部声明可用于仅在函数体内部有意义的实体,而不用于其他任何地方,或者不应用于其他任何地方
本地声明的有效用例的一个示例是计算中间值的数据类
:
fun getAndSaveEmails(people: List<Person>) {
data class PersonWithEmail(
val person: Person,
val email: String
)
val peopleWithEmails = people.map { PersonWithEmail(it, requestEmail(it)) }
peopleWithEmails.forEach { save(it.person, it.email) }
}
fun getandsaveemail(人员:列表){
数据类PersonWithEmail(
个人:个人,,
val电子邮件:String
)
val peoplewithemail=people.map{PersonWithEmail(it,requestEmail(it))}
peopleWithEmails.forEach{save(it.person,it.email)}
}
您能添加一点代码吗?代码!为什么!?你明白我的意思吗?我没有代码问题!我只想了解一个意思,我在谷歌上为你搜索过:@MarkoTopolnik我不知道我怎么会错过它!