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