Kotlin 函数

函数是仅在被调用时运行的代码块。

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

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

预定义函数

事实证明,你已经知道函数是什么了。你在整个教程中一直都在使用它!

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

实例

fun main() {
  println("Hello World")
}

亲自试一试

创建您自己的函数

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

实例

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

fun myFunction() {
  println("本段代码刚被执行!")
} 

调用函数

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

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

在下面的例子中,当调用 myFunction() 时,将打印一些文本(操作):

实例

fun main() 调用
  myFunction() // Call myFunction
}

// 输出 "本段代码刚被执行!"

亲自试一试

函数可以根据需要被多次调用:

实例

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

// 本段代码刚被执行!
// 本段代码刚被执行!
// 本段代码刚被执行!

亲自试一试

函数参数

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

参数在函数名后的括号内指定。你可以根据需要添加任意多的参数,只需用逗号分隔它们。请注意,你必须指定每个参数的类型(IntString 等)。

以下示例中的函数采用一个名为 fnameString 参数。调用函数时,我们会传递一个名字,该函数在函数内部用于打印全名:

实例

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

fun main() {
  myFunction("Bill")
  myFunction("Jane")
  myFunction("George")
}
  
// Bill Gates
// Jane Gates
// George Gates

亲自试一试

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

多个参数

你可以根据需要拥有任意多的参数:

实例

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

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

// Bill 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)

亲自试一试