Kotlin函数
函数是面向过程的程序设计精髓,也是所有语言中最重要的一个内容,学好函数,可以设计出优雅的程序,下面给小伙伴们介绍Kotlin函数的定义,调用,参数传递,声明,默认参数,占位参数和函数的重载。
函数定义
1 | // 函数小伙伴们其实并不陌生,在第一行Kotlin代码中就用到了函数的知识,main函数,main函数是程序运行的起始位置,程序必须要有main函数才可以运行 |
单表达式函数
1 | //当函数只有一行代码,可以将花括号改为等号,并将函数体放在等于号的后面,而且可以省略返回值的类型进行自动推断 |
默认参数
1 | // 默认参数是指函数的某个参数具有默认的值,当没用指定该值时,会代入默认值使用,但是要注意默认参数的使用顺序。 |
函数重载
1 | // 函数重载是指定义具有相同名字的函数,前提是函数的参数个数、顺序、类型不完全相同。在调用时更符合哪一个函数则调用哪一个函数。如mySum4(1.0, 2)此时参数为Double和Int,则调用mySum4(x:Double, y:Int)函数;如mySum4(1, 2.0)此时参数为Int和Double,则调用mySum4(x:Int, y:Double)函数;如果此时有一个函数为mySum4(x:Int, y:Double, z:Int = 2)此时仍然调用上面的函数,因为调用的函数具有两个实参,会优先使用具有两个形参的函数。如果调用的函数有三个实参,才会调用具有默认参数的函数。 |
函数重载
1 | // 函数重载是指定义具有相同名字的函数,前提是函数的参数个数、顺序、类型不完全相同。在调用时更符合哪一个函数则调用哪一个函数。如mySum4(1.0, 2)此时参数为Double和Int,则调用mySum4(x:Double, y:Int)函数;如mySum4(1, 2.0)此时参数为Int和Double,则调用mySum4(x:Int, y:Double)函数;如果此时有一个函数为mySum4(x:Int, y:Double, z:Int = 2)此时仍然调用上面的函数,因为调用的函数具有两个实参,会优先使用具有两个形参的函数。如果调用的函数有三个实参,才会调用具有默认参数的函数。 |
可变参数
1 | // 可变参数指参数类型确定,但是个数不确定的参数,可以通过vararg关键字来标识,在使用时可以当作数组,具有数组的高阶函数。对于可变参数可以使用星号*加数组名将数组进行展开传入。 |
局部函数
1 | // 局部参数又称为嵌套函数,是在一个函数的内部定义另一个函数,在Python中也有类似的定义方式。 |
Kotlin小结
函数是我们面向过程编程的重要思想,同时也是面向对象中封装特性的体现,有了函数我们可以节约大量的时间和空间管理我们的代码,提高了代码的复用率,但是我们要注意编程习惯,尽量一个函数实现一个功能,不要将多个功能写在同一个函数之中。