Kotlin-函数

本文详细介绍了Kotlin中的函数,包括函数声明、参数(默认参数、命名参数、不定数量参数)、返回值(Unit、单表达式函数、明确指定返回值类型)、函数调用(传统用法、中缀标记法)、函数范围(局部函数、成员函数、扩展函数)、尾递归函数、高阶函数(函数类型、Lambda表达式与匿名函数)等概念,深入探讨了Kotlin函数的多样性和灵活性。
摘要由CSDN通过智能技术生成

概述

许多程序设计语言(像C和C++)用函数这个术语来描述命名子程序;在Kotlin中,依然延续这个术语来表示“做某些事情的方式”,实际上把它当作java中的方法是一样的,只不过是命名方式的不同而已,没有什么实际意义。

函数声明

Kotlin中的函数决定了一个对象能够接收到什么样的信息,函数的基本组成部分包括:名称、参数、返回值和函数体,其使用fun关键字定义函数,定义形式为:

fun methodName(param: paramType): ReturnType {

}
  • 返回类型描述的是在调用函数之后从函数返回的值。
  • 参数列表给出了要传递给函数的信息的类型和名称
  • 函数名和参数列表作为函数的唯一的标识符

参数

函数参数的定义使用Pascal标记法, 也就是, name: type 的格式,多个参数之间使用逗号分隔,每个参数都必须明确指定类型.

fun powerOf(number: Int, exponent: Int) {
...
}

默认参数

函数参数可以指定默认值, 当参数省略时, 就会使用默认值. 与其他语言相比, 这种功能使得我们可以减少大
量的重载(overload)函数定义.

fun main(args: Array<String>) {
    // 使用默认值
    doSwim() //打印: "do swim"

    // 使用传递的参数
    doSwim("just do it") // 打印:"just do it"
}

fun doSwim(sports: String = "do swim") {
    println(sports)
}

参数默认值的定义方法, 在参数类型之后, 添加 = 和默认值.

命名参数

调用函数时, 可以通过参数名来指定参数. 当函数参数很多, 或者存在默认参数时, 指定参数名是一种非常便利的功能.

有这样一个函数:

fun register(name: String, no: Int = 1001, sex: Int = 0) {
    println("name: $name, no:$no, sex: $sex")
}

当我们采用默认方式调用时,如果未设定的参数,位于参数列表的第一个,我们可以这样调用

register("li")

其实际上相当于

register("li", 1001, 0)

人如果我们不需要指定所有的参数, 只是修改部分默认的参数值,我们可以这样:

register(name = "wang", no = 1003)

不定数量参数

如果在函数被调用以前,函数的参数(通常是参数中的最后一个)个数不能够确定,可以采用不定量参数方式,定义函数参数列表。比如在创建List时,创建前并不知道预添加至List中多少数据。

fun <T> asList(vararg ts: T): List<T> {
    val result =
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值