参数声明、返回值声明及函数体关系
- 参数声明:在Kotlin函数定义中,参数声明在函数名后的括号内。参数用于向函数传递数据,每个参数都需要指定类型。例如:
fun add(a: Int, b: Int)
,这里a
和b
就是参数,类型为Int
。参数可以有默认值,当调用函数时未提供该参数值,将使用默认值,如fun greet(name: String = "World")
。
- 返回值声明:紧跟在参数括号之后,使用冒号
:
分隔。表示函数执行完毕后返回的数据类型。若函数不返回任何值,返回类型为Unit
,可省略不写。例如:fun add(a: Int, b: Int): Int
返回Int
类型;fun printMessage(): Unit
(可写成fun printMessage()
)不返回有意义的值。
- 函数体:是包含具体执行逻辑的代码块。函数体中通过对参数的操作来实现功能,并使用
return
语句返回指定类型的值(若有返回值)。如fun add(a: Int, b: Int): Int { return a + b }
,函数体将a
和b
相加并返回结果。
不同作用域下函数调用机制
- 类内部:在类内部定义的函数可以直接调用类中的其他成员函数和属性。若调用同一个类中定义的函数,可直接使用函数名,如:
class MathUtils {
fun add(a: Int, b: Int): Int {
return a + b
}
fun multiply(a: Int, b: Int): Int {
val sum = add(a, b) // 直接调用类内的add函数
return sum * sum
}
}
- 类外部:要调用类内部的函数,需先创建类的实例(除非函数是
companion object
中的companion
函数或object
单例中的函数)。例如:
class MathUtils {
fun add(a: Int, b: Int): Int {
return a + b
}
}
val mathUtils = MathUtils()
val result = mathUtils.add(2, 3)
- 嵌套函数:在一个函数内部定义的函数。嵌套函数可以访问外部函数的参数和局部变量。调用嵌套函数只能在其外部函数内部进行。例如:
fun outerFunction() {
val message = "Hello"
fun innerFunction() {
println(message) // 访问外部函数的局部变量
}
innerFunction() // 在外部函数内部调用嵌套函数
}