Kotlin编程Android技术知识程序员

kotlin 基础 6 函数和函数式表达式

2019-04-05  本文已影响7人  zidea
kotlin.jpeg

函数作为语言的基石,通过一个一个函数累加搭建出大型应用。函数作为最小代码单元。今天我们就来看一看在 kotlin 中如何实现函数和使用函数的。

fun main(arg:Array<String>) {

    var result = add(3,5)

    println("result = ${result}")
}

fun add(x: Int, y: Int): Int {
    return x + y
}

定义函数可以没有返回值,这种情况可以返回类型指定为 Unit


fun printHello(s:String):Unit{
    println("Hello, $s")
}

在 kotlin 中也支持可变参数,可以接受任意多参数,然后将其整体看做数组来处理

fun sum(vararg num:Double):Double{
    var sum = 0.0
    for( n in num){
        sum += n
    }
    return sum
}
println(sum(1.0,2.0,3.0))
    println(sum(1.0,2.0,3.0,5.0,6.0))
    println(sum())
fun sum(vararg num:Double):Double{
    return num.sum()    
}

在kotlin中也可以将数组作为参数传入到这个接受可变参数的函数内。

var v = doubleArrayOf(1.0,2.2,3.3,5.5)
println(sum(*v))

如果发现在大括号中只有一行业务逻辑,而且函数有返回值可以让等于表达式

fun add(x: Int, y: Int): Int = x + y

在 kotlin 中函数也是一等公民,这就表示 kotlin 也是主打函数式编程。

var i = {x:Int,y:Int -> x + y}
    println(i(3,5))

变量 i 就是函数,调用和其他函数调用方式没有什么区别println(i(3,5)),这种方式和 c++ 中函数指针非常类似。

也可以这样声明一个函数然后赋值给一个变量

var j:(Int,Int) -> Int = {x,y -> x + y}

看起来```(Int,Int)->Int 定义了类型,也就是定义了一个函数类型,用来定义我们函数是如何写的,参数个数和类型以及返回值。后面就是我们函数体了。


kotlin_end.jpg
上一篇下一篇

猜你喜欢

热点阅读