📜  Kotlin函数

📅  最后修改于: 2020-10-05 14:46:36             🧑  作者: Mango

在本文中,您将了解函数。什么是功能,其语法以及如何在Kotlin中创建用户功能。

在编程中, 函数是一组执行特定任务的相关语句。

函数用于将大型程序分解为较小的模块化块。例如,您需要根据用户的输入来创建圆圈并为其着色。您可以创建两个函数来解决此问题:

  • createCircle()函数
  • colorCircle()函数

将复杂的程序划分为较小的组件,可以使我们的程序更有条理和更易于管理。

此外,它避免重复并使代码可重用。


功能类型

根据用户定义的函数还是标准库中可用的功能,有两种类型的功能:

  • Kotlin标准库功能
  • 用户定义的功能

Kotlin标准库功能

标准库函数是Kotlin中的内置函数,可以随时使用。例如,

  • print()是一个库函数 ,可将消息打印到标准输出流(监视器)。
  • sqrt()返回数字的平方根( Double值)
fun main(args: Array) {

    var number = 5.5
    print("Result = ${Math.sqrt(number)}")
}

运行该程序时,输出为:

Result = 2.345207879911715

这是Kotlin标准库的链接,供您浏览。


用户定义的功能

如前所述,您可以自己创建函数。这些功能称为用户定义功能。


如何在Kotlin中创建用户定义的函数 ?

在使用(调用) 函数,需要先对其进行定义。

在Kotlin中定义函数的方法如下:

fun callMe() {
    // function body
}

要在Kotlin中定义函数 ,请使用fun关键字。然后是函数的名称(标识符)。在这里, 函数的名称为callMe

在上述程序中,括号( )为空。这意味着此函数不接受任何参数。您将在本文的后面部分了解参数。

花括号{ }的代码是函数的主体。


如何调用函数?

你要调用函数的函数体中运行代码。这是如何做:

callme()

该语句调用callMe()声明的callMe() 函数 。

Koltin中的函数调用


示例:简单功能程序

fun callMe() {
    println("Printing from callMe() function.")
    println("This is cool (still printing from inside).")
}

fun main(args: Array) {
    callMe()
    println("Printing outside from callMe() function.")
}

运行该程序时,输出为:

Printing from callMe() function.
This is cool (still printing from inside).
Printing outside from callMe() function.

上面代码中的callMe() 函数不接受任何参数。

同样,该函数不返回任何值(返回类型为Unit )。

让我们来看另一个函数示例。该函数将接受参数并返回一个值。


示例:使用函数将两个数字相加

fun addNumbers(n1: Double, n2: Double): Int {
    val sum = n1 + n2
    val sumInteger = sum.toInt()
    return sumInteger
}

fun main(args: Array) {
    val number1 = 12.2
    val number2 = 3.4
    val result: Int

    result = addNumbers(number1, number2)
    println("result = $result")
}

运行该程序时,输出为:

result = 15

带参数和返回值的函数如何工作?

在此,在函数调用期间将两个Double类型的参数number1number2传递给addNumbers() 函数 。这些参数称为实际参数。

result = addNumbers(number1, number2)

参数n1n2接受传递的参数(在函数定义中)。这些参数称为形式参数(或参数)。

将参数传递给Kotlin中的函数

在Kotlin中,参数之间用逗号分隔。同样,形式参数的类型必须显式键入。

注意,实际参数和形式参数的数据类型应该匹配,即,第一个实际参数的数据类型应该与第一个形式参数的类型匹配。同样,第二个实际参数的类型必须与第二个形式参数的类型相匹配,依此类推。


这里,

return sumInteger

是return语句。此代码终止addNumbers() 函数,并且程序控制跳至main() 函数。

在程序中, sumIntegeraddNumbers() 函数返回。此值分配给变量result

从Kotlin中的函数返回值

注意,

  • sumIntegerresult均为Int类型。
  • 函数的返回类型在函数定义中指定。
    // return type is Int
    fun addNumbers(n1: Double, n2: Double): Int {
        ... .. ...
    }

如果该函数不返回任何值,则其返回类型为Unit 。如果返回类型为Unit ,则可以在函数定义中指定返回类型。


示例:使用功能显示名称

fun main(args: Array) {
    println(getName("John", "Doe"))
}

fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

运行该程序时,输出为:

John Doe

在这里, getName() 函数接受两个String参数,并返回一个String

如果函数返回单个表达式,则可以省略函数主体的花括号{ } ,并在=符号后指定主体(如上述示例)。

在这种情况下,显式声明返回类型是可选的,因为返回类型可以由编译器推断。在以上示例中,您可以替换

fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

fun getName(firstName: String, lastName: String) = "$firstName $lastName"

这只是Kotlin中功能的简要介绍。与功能有关的推荐文章:

  • Kotlin内联函数
  • Kotlin中缀功能
  • Kotlin 函数范围
  • Kotlin默认和命名参数
  • Kotlin递归
  • Kotlin尾递归函数
  • Kotlin扩展功能
  • Kotlin高阶函数和Lambda