美文网首页
Kotlin语法二函数

Kotlin语法二函数

作者: Carve_Time | 来源:发表于2017-06-06 15:05 被阅读20次

    1.函数定义与调用

    //定义
    private fun sum(a:Int,b:Int):Int{
        return a+b
    }
    //调用
    sum(1,2);
    

    2.函数参数

    2.1 默认参数

    Kotlin 中的函数可以声明一个参数的默认值,在没有对应值输入时自动取默认值,大大减少了方法重载。

    fun add(a:Int,b:Int,c:Int=4):Int{
        return a+b+c
    }
    println("${add(1,2)}")////默认 c 为 4,输出 7
    println("${add(1,2,3)}")//输入 c 值,不使用默认值,输出 6
    

    2.2 可变参数

    使用 vararg 修饰参数列表的最后一项,表示这个参数的数量是可变的。

    fun add(a:Int,b:Int,vararg n:Int):Int{
        var sum = a+b
        for (i in n){
            sum += i
        }
        return sum
    }
    println("${add(1,2,3,4,5,6)}")//21
    

    3.函数返回值

    如果一个函数没有返回值,则它的返回值类型是Unit,一般会省略。

    fun sayHello(name: String): Unit{
        println("My name is $name.")
    }
    

    4.函数类型

    使用函数类型和使用其他类型一样,可以定义一个类型为常量或变量,并将函数赋值给它。

    fun sum(a:Int,b:Int,c:(Int,Int)->Int):Int{
        return  c (a,b)
    }
    fun add(a:Int,b:Int):Int{
        return a + b
    }
      println("${sum(2,3,::add)}") // 5
    

    5.扩展函数

    声明一个扩展函数,我们需要用一个 接收者类型 也就是被扩展的类型来作为他的前缀。

    //为Int扩展一个add函数
    fun Int.add(x:Int):Int{
        return this+x
    }
    //调用
    print(123.add(321))//444
    

    6.中缀表示法

    infix fun Int.add(x:Int):Int{
        return this+x
    }
    // 用中缀表示法调用扩展函数
    print(123 add 123)
    

    7.单表达式函数

    当函数返回单个表达式时,可以省略花括号并且在 = 符号之后指定代码体即可

    fun double(x: Int): Int = x * 2
    

    当返回值类型可由编译器推断时,显式声明返回类型是可选的

    fun double(x: Int) = x * 2
    

    参考

    https://kotlinlang.org/docs/reference/functions.html
    http://www.kotlincn.net/docs/reference/functions.html

    相关文章

      网友评论

          本文标题:Kotlin语法二函数

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