美文网首页
Kotlin基础---函数

Kotlin基础---函数

作者: 积木Blocks | 来源:发表于2018-09-17 16:35 被阅读17次

    《基于Kotlin实战》


    1.普通的Java函数

     public int max(int a, int b) {
            if (a > b) {
                return a;
            } else {
                return b;
            }
        }
    
    2.Kotlin函数

    fun max(a: Int, b: Int): Int {
            return if (a > b) {
                a
            } else {
                b
            }
        }
    
    3.对比Kotlin代码和Java代码

    一个Kotlin函数的声明

    • 关键字函数名参数列表返回类型函数体
    • 拿上图举例
      • 关键字 fun
      • 函数名 max
      • 参数列表 (a: Int, b: Int))
      • 返回类型 Int
        • 同参数列表之间需要冒号隔开
      • 函数体
      { return if (a > b) {
               a
           } else {
               b
           }
       }
      
    4.Kotlin代码的特性

    • Kotlin和很多现代语言一样,省略了每行代码结尾的分号
    • Kotlin中if是有结果值的表达式
      • 语句和表达式
        • 语句总是包围着它的代码块中的顶层元素,并且没有自己的值
        • 表达式有值,并且能作为另一个表达式的一部分使用
      • 控制结构
        • 在Java中,所有的控制结构都是语句
        • 在Kotlin中,除了(for,do和do/while)以外大多数控制结构都是表达式
      • 赋值操作
        • Java中是表达式
        • Kotlin中是语句
    5.表达式函数体

    • 上面的函数,可以用表达式做完整的函数体,并去掉花括号和return语句
    fun max(a: Int, b: Int): Int = if (a > b) a else b
    
    • 还可以进一步简化,省略返回类型
    fun max(a: Int, b: Int) = if (a > b) a else b
    
    • 为什么有些函数可以不声明返回类型?
      • 作为一门静态语言,Kotlin要求每个表达式在编译器具有类型。
      • 对于表达式体函数,编译器会分析作为函数体的表达式,并把它的类型作为函数的返回类型,即使没有显示的写出来。这种分析称为类的推导
    • 真实项目还是需要显示的写出返回类型和return语句,有助于理解

    相关文章

      网友评论

          本文标题:Kotlin基础---函数

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