Kotlin学习笔记之 18 函数

作者: super_shanks | 来源:发表于2019-04-10 14:31 被阅读2次

18.函数

  • 默认参数

    override复写的方法不允许出现默认参数。

  • vararg

    vararg关键字表示传入的是数组,如下的方法传入的是String字符串数组

    fun foo(vararg strings: String) { }
    

    如果我们需要通过指定的方式传入的话需要注意以下问题

    fun main() {
          foo(strings = *arrayOf("a", "b", "c"))
    }
    

    strings指向的是String类型,如果不加上*,会报错。

    以此类推,我们有时候也可以直接在数组初始化中传入数组

    val a = arrayOf(1, 2, 3)
    val list = asList(-1, 0, *a, 4)
    
  • 中缀表示法

    我们在kotlin中可以使用一些自己命名的方法很好的处理一些事情。比如说系统为我们定了了操作符>来判断左边的是否大于右边的。我们也可以自己实现

      infix fun Int.大于(b : Int) : Boolean{
          return this > b
      }
    

    中缀关键字infix用来修饰的函数只有两种,一种是上面的这种扩展函数,一种是成员函数。

    中缀函数的使用方式跟操作符是一样的,直接a 中缀函数名 bab都不可少,需要接受者和参数。举个成员函数的例子:

    class MyStringCollection {
          infix fun add(s: String) { …… }
          
          fun build() {
              this add "abc"   // 正确
              add("abc")       // 正确
              add "abc"        // 错误:必须指定接收者
          }
      }
    
  • 尾递归函数

    关键字tailrec用来表示尾递归函数,他有形式上的要求,就是描述的函数需要有有条件,且最终不断的执行自己。大致的格式如下

    tailrec fun againFun(x: Int) = if( x < 0) x else againFun(--x)
    

相关文章

  • 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学习笔记之 18 函数

    18.函数 默认参数override复写的方法不允许出现默认参数。 varargvararg关键字表示传入的是数组...

  • Kotlin学习之定义函数

    Kotlin学习之定义函数 @(Kotlin学习) 一、定义函数 Kotlin中的函数比Java中的方法更灵活,用...

  • Kotlin学习目录

    Kotlin学习目录 一、Kotlin学习之函数和变量二、Kotlin学习之类和属性三、Kotlin学习之枚举和W...

网友评论

    本文标题:Kotlin学习笔记之 18 函数

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