声明函数
参数、返回类型和默认值。
声明函数 是 CoddyKit 上的免费 Android Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Android Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Android Academy 课程共包含 4 节课。
什么是函数
函数是一段有名称的代码块,您可以反复运行它。您无需重复编写代码行,只需通过函数名称调用它。
在 Kotlin 中,您可以使用 fun 关键字声明函数,后面跟上名称和一对圆括号。
您的第一个函数
下面是一个名为 greet 的简单函数。函数体位于花括号 { } 内。
我们在 main 中通过写出函数名称和圆括号来调用它:greet()。
fun greet() {
println("Hello, Kotlin!")
}
fun main() {
greet()
}参数
参数允许您将数据传入函数。您需要在圆括号内写出名称、冒号和类型。
下面的 name: String 表示该函数需要一个文本值。
fun greet(name: String) {
println("Hello, " + name + "!")
}
fun main() {
greet("Ada")
greet("Sam")
}多个参数
一个函数可以接收多个参数。请使用逗号分隔它们。
这里的 add 接收两个 Int 值,并输出它们的和。
fun add(a: Int, b: Int) {
println(a + b)
}
fun main() {
add(3, 4)
}返回值
函数可以返回结果。在圆括号后写出冒号和返回类型,然后使用 return。
调用方可以将结果存储在变量中。
fun square(n: Int): Int {
return n * n
}
fun main() {
val result = square(5)
println(result)
}Unit 返回类型
当函数不返回有用的内容时,它的类型是 Unit。通常可以省略它。
下面两个声明表示相同的含义:
fun log() { }fun log(): Unit { }
单表达式函数
如果函数只返回一个表达式,您可以使用 = 简写,并省略花括号和 return。
Kotlin 甚至可以为您推断返回类型。
fun double(x: Int) = x * 2
fun main() {
println(double(8))
}参数默认值
您可以为参数指定默认值。如果调用方省略该参数,就会使用默认值。
这样可以避免为同一个函数编写许多重载版本。
fun greet(name: String = "friend") {
println("Hi, " + name)
}
fun main() {
greet()
greet("Lee")
}命名参数
调用函数时,您可以为参数指定名称。这样可以让调用更加清晰,并且可以按任意顺序传入参数。
命名参数与默认值搭配使用非常方便。
fun box(width: Int = 1, height: Int = 1) {
println(width * height)
}
fun main() {
box(height = 5)
}函数调用函数
一个函数可以调用另一个函数。这样可以将大型任务拆分成小而可复用的部分。
这里的 main 调用 average,而 average 又调用 add。
fun add(a: Int, b: Int): Int = a + b
fun average(a: Int, b: Int): Int = add(a, b) / 2
fun main() {
println(average(10, 20))
}函数为何重要
函数可以让代码井然有序,并遵循DRY(不要重复自己)原则。
- 为一段逻辑赋予清晰的名称。
- 无需复制代码即可重复使用。
- 只需在一个地方修复错误。
在 Android 应用中,您会经常编写函数。
快速检查
测试您对函数声明的理解。
回顾
您已经学会使用 fun 声明函数、传递参数以及返回值。
您还了解了单表达式简写、参数默认值和命名参数。接下来,您将使用类把数据和行为组合在一起。
常见问题解答
「声明函数」课时是免费的吗?
是的 — 「声明函数」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Android Academy 课程的其余内容,请升级到 CoddyKit PRO。 Android Academy 课程共包含 4 节课。
「声明函数」这节课中我会学到什么?
参数、返回类型和默认值。 你通过在浏览器中直接运行的动手代码来练习 Android Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Android Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Android Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「声明函数」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Android Academy 课中编写并运行代码吗?
能。每节 Android Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。