美文网首页Kotlin编程Android技术知识程序员
kotlin 基础 6 函数和函数式表达式

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

作者: zidea | 来源:发表于2019-04-05 08:03 被阅读7次
    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

    相关文章

      网友评论

        本文标题:kotlin 基础 6 函数和函数式表达式

        本文链接:https://www.haomeiwen.com/subject/lsthiqtx.html