最适合网络开发者的网站
Kotlin。W3Schools 英文版。初学者课程

尿素 西斯

Kotlin 功能


A 功能 是仅在被调用时运行的代码块。

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

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


预定义函数

看来你已经知道函数是什么了。你在本教程中一直在使用它!

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

例子

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

创建自己的函数

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

例子

创建一个名为“myFunction”的函数,该函数输出一些文本:

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

调用函数

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

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

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

例子

fun main() {
  myFunction() // Call myFunction
}

// Outputs "I just got executed!" 
亲自尝试 »

如果需要,可以多次调用一个函数:

例子

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

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

函数参数

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

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

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

例子

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

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

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

当一个 范围 传递给函数,它被称为争论。因此,从上面的例子来看: fname范围, 尽管 John, JaneGeorge参数.


多个参数

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

例子

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) 
亲自尝试 »