美文网首页
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

    快速上⼿ Kotlin 基础语法 函数基础语法 与 Java 代码互调 Java 与 Kotlin 交互的语法变化...

  • Kotlin语法二函数

    1.函数定义与调用 2.函数参数 2.1 默认参数 Kotlin 中的函数可以声明一个参数的默认值,在没有对应值输...

  • 一篇文章搞定kotlin

    一、前言- 1.为什么要学kotlin?- 2.准备工作 二、kotlin基础语法- 2、函数- 3、条件控制- ...

  • Kotlin学习笔记:类和接口

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:概述

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin 学习笔记:基本语法和函数

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:注解和反射

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:泛型

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:类型系统

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin 学习笔记: lambda编程

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

网友评论

      本文标题:Kotlin语法二函数

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