8.2.7 函数作用域
在 Kotlin 中函数可以在文件顶层声明,这意味着你不需要像一些语言如 Java、C# 或 Scala 那样创建一个类来保存一个函数。此外除了顶层函数,Kotlin 中函数也可以声明在局部作用域、作为成员函数以及扩展函数。#### 局部函数(嵌套函数)
Kotlin 支持局部函数,即一个函数在另一个函数内部
1. fun sum(x: Int, y: Int, z: Int): Int {
2. val delta = 0;
3. fun add(a: Int, b: Int): Int {
4. return a + b + delta
5. }
6. return add(x + add(y, z))
7. }
局部函数可以访问外部函数(即闭包)中的局部变量delta。
1. println("sum(1,2,3) = ${sum(0, 1, 2, 3)}")
输出:sum(1,2,3) = 6#### 成员函数
成员函数是在类或对象内部定义的函数
1. class Sample() {
2. fun foo() { print("Foo") }
3. }
成员函数以点表示法调用
1. Sample().foo() // 创建类 Sample 实例并调用 foo
