Kotlin中的变量、函数和类的局部声明是什么?

Kotlin中的变量、函数和类的局部声明是什么?,kotlin,Kotlin,所以我开始学习android开发的kotlin。 但是,当我谈到可见性主题时,我遇到了这样一个问题,即: 本地声明 局部变量、函数和类不能具有可见性修饰符 Kotlin中的本地声明是什么 我在这里问你,这意味着我已经在互联网上做了搜索,但我得到的唯一结果是关于java和其他编程语言的,我不想把事情搞混,以免混淆。 非常提前感谢局部声明是放置在函数体(或构造函数、init块或属性访问器)中的声明 这些声明只能在声明它们的词法范围内引用: fun foo() { if (Random().

所以我开始学习android开发的
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我不知道我怎么会错过它!