Android开发经验谈Android进阶Android开发

Kotlin函数

2019-07-09  本文已影响0人  程序员丶星霖

函数是执行特定任务的一段代码。程序通过将一段代码定义成函数,并为该函数指定一个函数名,就可以在需要的时候多次调用这段代码。

函数是代码复用的重要手段。

函数就是Kotlin程序的重要组成单位,一个Kotlin程序可以由很多个函数组成。

一、定义和调用函数

Kotlin声明函数必须使用fun关键字。定义函数的语法格式:

fun 函数名(形参列表)[:返回值类型]{
    //  执行语句
}
fun main(args: Array<String>) {
    var a = 6
    var b = 7
    var result = max(a, b)
    println("result:${result}")
    println(sayHi("关羽"))
}

fun max(x: Int, y: Int): Int {
    val z = if (x > y) x else y
    return z
}

fun sayHi(name: String): String {
    println("执行sayHi()函数")
    return "${name},您好!"
}

输出结果:

result:7
执行sayHi()函数
关羽,您好!

二、函数返回值和Unit

函数没有返回值时,有如下两种方式指定返回值:

fun main(args: Array<String>) {
    test()
    sayHi("马超")
}

fun test(){
    println("执行test()函数")
}

fun sayHi(name: String): Unit {
    println("执行sayHi()函数")
    println( "${name},您好!欢迎光临")
}

输出结果:

执行test()函数
执行sayHi()函数
马超,您好!欢迎光临

三、递归函数

在一个函数体内调用它本身,被称为函数递归。

函数递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。

fun main(args: Array<String>) {
    //输出fn(10)的结果
    println("fn(10)的结果是:${fn(10)}")
}

fun fn(n: Int): Int {
    if (n == 0) {
        return 1
    } else if (n == 1) {
        return 4
    } else {
        return 2 * fn(n - 1) + fn(n - 2)
    }
}

输出结果:

fn(10)的结果是:10497

当一个函数不断地调用它自身时,必须在某个时刻函数的返回值是确定的,即不再调用它自身;否则就变成了无穷递归,类似于死循环。

只要在一个函数的函数体实现中再次调用了函数本身,就是递归函数。递归一定要向已知方向进行。

四、单表达式函数

在某些情况下,函数只是返回单个表达式,此时可以省略花括号并在等号后指定函数体即可。

fun main(args: Array<String>) {
    println(area(2.0, 5.0))
}

fun area(x: Double, y: Double): Double = x * y

输出结果:

10.0

学海无涯苦作舟

我的微信公众号.jpg
上一篇 下一篇

猜你喜欢

热点阅读