函数的定义
函数又称为方法,是具有特定功能的一段独立程序。
函数可以将功能代码进行封装,在使用时直接调用即可,这样程序代码不仅看起来简洁,而且还减少了代码量。
函数的语法格式如下:
函数声明 函数名称 (【参数名称:参数类型,参数名称:参数类型】):返回类型{
执行语句
。。。
return 返回值
}
- 函数声明:Kotlin中的函数声明使用关键字fun。
- 函数名称:每个函数都有函数名称,方便在函数调用时使用。
- 参数类型:用于限定调用函数时传入参数的数据类型。
- 参数名称:是一个变量,用于接收调用函数时传入的数据。
- 返回值类型:用于限定函数返回值的数据类型。
- 返回值:被return语句返回的值,该值会返回给调用者。
接下来我们通过一个实例来创建一个函数。代码如下:
fun main(args:Array<String>) {
var result = sum(1,2)
println(result)
}
//定义sun函数,参数为a,b,参数类型为Int,返回值类型为Int
fun sum(a:Int, b:Int):Int{
return a+b
}
函数的类型
有参数无返回
fun sum(str:String){
println("该函数传递的参数为" + str)
}
有参数有返回
fun sum(str:String){
return str
}
无参数无返回
fun sum1(){
println("这是有参数无返回的函数")
}
fun sum2():Unit{
println("这也是有参数无返回的函数")
}
无参数有返回
fun sum():String{
return "这是无参数有返回的函数"
}
单表达式函数
如果函数体只有一行代码,则可以把包裹函数体的花括号{}替换为等号=,把函数体放在等号 = 的后面,这样的函数称为单表达式函数。
如果函数体中的代码不止一行,就不能转换为单表达式函数。
实例代码如下:
//普通函数
fun sum(a:Int, b:Int):Int{
return a+b
}
//单表达式函数
fun sum(a:Int, b:Int):Int = a+b
//可以省略返回值类型
fun sum(a:Int, b:Int) = a+b
函数的参数
具名参数
具名参数,顾名思义,就是指在调用函数时显示指定形参的名称,这样即使形参和实参的顺序不一致也不会有任何影响,这样有助于提高代码的可读性。
代码格式:
函数名称 (形参1=实参1,形参2=实参2,形参3=实参3。。。)
示例代码:
fun main(args:Array<String>) {
info(name="haha",age=18)
}
fun info(name:String, age:Int){
println(name)
println(age)
}
默认参数
默认参数,是指在定义函数时,可以给函数中的每一个形参指定一个默认的实参。
代码格式:
fun 函数名称 (形参1:,形参2:类型 = 默认值。。。){
函数体
。。。
}
示例代码:
fun main(args:Array<String>) {
info(age=18)
}
fun info(name:String = "wowo", age:Int){
println(name)
println(age)
}
可变参数
可变参数,是指参数类型确定但个数不确定的参数,可变参数通过关键字vararg标识,我们可以将其理解为数组。
可变参数通常声明在形参列表中的最后位置,如果不声明在最后位置,那么可变参数后面的其他参数都需要通过命名参数的形式进行传递。
示例代码:
fun main(args:Array<String>) {
sum("xxx", 100, 99, 78)
}
fun sum(name:String = "wowo", vararg scores:Int){
var result = 0
scores.forEach { result += it }
println("$name 的成绩是" + result)
}
博客为个人收集学习,供大家交流学习。
参考书籍:《Kotlin从基础到实践》