Kotlin学习笔记-函数

1、可变数量参数

  • 当一个函数中的参数是不定数量的个数并且是同一个类型,则可是使用vararg修饰符去修饰这个变量,则被vararg修饰的参数相当于一个固定类型的数组。
  • 声明格式:fun 函数名(vararg 参数名 : 类型,...) :返回值{}
fun varargFun(numA: Int, vararg str : String){
    // ...
}

其中,既然vararg修饰的变量相当于一个固定类型的数组,则我们可以对它进行一些高级的操作。

fun varargFun(numA: Int, vararg str : String){
        // 遍历
    for (s in str) {
        
    }

// 获取元素
//    str[index]
//    str.component1() ... str.component5()

// 或者其高阶函数用法
//    str.map {  }
//    str.filter {  }
//    str.sortBy {  }

}

在传递参数值时,我们可以一个一个参数的传递,或者可以直接传递一个当前定义类型的数组。不过在传递数组时,请使用伸展操作符( * )。

普通传递 : varargFun(1,"aaa","bbb","ccc","ddd","fff")
数组传递:
        val strArray = arrayOf("aaa","bbb","ccc","ddd","fff")
        varargFun(1,*strArray)

2、单表达式函数

单表达式函数:即函数具备返回值的时候,可以省略花括号并且在=赋值符号之后指定代码体,而函数的返回值是有编辑器自动推断的。

// 无参数的情况
fun test1() = 2                     // 自动推断为:返回类型为Int

// 有参数的情况
fun test2(num : Int) = num * 2      // 自动推断为:返回类型为Int

// 或者
fun test3(x : Float, y : Int = 2) = x * y  // 和默认参数一起使用,返回值为Float型

fun main(args: Array) {
    println(test1())
    println(test2(2))
    println(test3(2f))
}

你可能感兴趣的:(Kotlin学习笔记-函数)