Kotlin 函数

函数是一段代码,只在被调用时运行。

您可以将数据(称为参数)传递给函数。

函数用于执行某些动作,也称为方法


预定义函数

所以事实证明你已经知道函数是什么了。 您在本教程中一直在使用它!

例如,println() 是一个函数。 它用于向屏幕输出/打印文本:

实例

fun main() {
  println("Hello World")
}
亲自试一试 »

创建自己的函数

要创建自己的函数,请使用 fun 关键字,并写下函数的名称,后跟括号():< /p>

实例

创建一个名为 "myFunction" 的函数,它应该输出一些文本:

fun myFunction() {
  println("I just got executed!")
}

调用函数

现在您已经创建了一个函数,您可以通过调用它来执行它。

要在 Kotlin 中调用函数,请编写函数名,后跟两个括号 ()

在以下示例中,myFunction() 将在调用时打印一些文本(操作):

实例

fun main() {
  myFunction() // 调用函数
}

// 输出 "I just got executed!"
亲自试一试 »

如果您愿意,可以多次调用一个函数:

实例

fun main() {
  myFunction()
  myFunction()
  myFunction()
}

// I just got executed!
// I just got executed!
// I just got executed!
亲自试一试 »


功能参数

信息可以作为参数传递给函数。

参数在函数名之后的括号内指定。 您可以添加任意数量的参数,只需用逗号分隔即可。 请注意,您必须指定每个参数的类型(Int、String 等)。

下面的例子有一个函数,它接受一个名为 fnameString 作为参数。 当函数被调用时,我们传递一个名字,它在函数内部用于打印全名:

实例

fun myFunction(fname: String) {
  println(fname + " Doe")
}

fun main() {
  myFunction("John")
  myFunction("Jane")
  myFunction("George")
}

// John Doe
// Jane Doe
// George Doe
亲自试一试 »

形式参数(parameter)被传递给函数时,它被称为实际参数(argument)。 所以,从上面的例子来看:fname是一个形式参数,而JohnJaneGeorge实际参数


多个参数

您可以拥有任意数量的参数:

实例

fun myFunction(fname: String, age: Int) {
  println(fname + " is " + age)
}

fun main() {
  myFunction("John", 35)
  myFunction("Jane", 32)
  myFunction("George", 15)
}

// John is 35
// Jane is 32
// George is 15
亲自试一试 »

注意: 当使用多个参数时,函数调用的参数数量必须与参数数量相同,并且参数必须以相同的顺序传递。


返回值

在上面的例子中,我们使用函数来输出一个值。 在下面的示例中,我们将使用一个函数来返回一个值并将其分配给一个变量。

要返回一个值,请使用 return 关键字,并在函数的括号(Int 在这个例子中):

实例

具有一个 Int 参数和 Int 返回类型的函数:

fun myFunction(x: Int): Int {
  return (x + 5)
}

fun main() {
  var result = myFunction(3)
  println(result)
}

// 8 (3 + 5)
亲自试一试 »

使用两个参数:

实例

一个有两个Int参数和Int返回类型的函数:

fun myFunction(x: Int, y: Int): Int {
  return (x + y)
}

fun main() {
  var result = myFunction(3, 5)
  println(result)
}

// 8 (3 + 5)
亲自试一试 »

返回值的较短语法

返回值还有一个更短的语法。 您可以使用 = 运算符代替 return 而无需指定返回类型。 Kotlin 足够聪明,可以自动找出它是什么:

实例

fun myFunction(x: Int, y: Int) = x + y

fun main() {
  var result = myFunction(3, 5)
  println(result)
}

// 8 (3 + 5)
亲自试一试 »