3.Android Compose 基础系列:在 Kotlin 中创建和使用函数

在之前的内容中,我们学习了 Kotlin 的基本语法与变量。现在,让我们来认识函数------Kotlin 的核心组成部分。

函数能让你把代码拆分成可复用的部分,让程序结构更清晰、可维护性更高。

1. 什么是函数

函数是执行特定任务的一段代码。Kotlin 用 fun 关键字定义函数。

kotlin 复制代码
fun main() {
    println("Hello, world!")
}

main() 是程序入口函数。println() 是 Kotlin 内置函数,用于输出文本。

2. 定义并调用函数

你可以定义自己的函数,让代码更简洁、更易读,函数语法如下:

kotlin 复制代码
fun main() {
    birthdayGreeting()
}

fun birthdayGreeting() {
    println("Happy Birthday, Rover!")
    println("You are now 5 years old!")
}

运行结果:

kotlin 复制代码
Happy Birthday, Rover!
You are now 5 years old!

3. 从函数返回值

函数可以返回数据,而不仅仅是输出文本。

kotlin 复制代码
fun main() {
    println(birthdayGreeting())
}

fun birthdayGreeting(): String {
    val nameGreeting = "Happy Birthday, Rover!"
    val ageGreeting = "You are now 5 years old!"
    return "$nameGreeting\n$ageGreeting"
}

输出:

kotlin 复制代码
Happy Birthday, Rover!
You are now 5 years old!

4. 添加形参(参数)

让函数更灵活,接受输入值:

kotlin 复制代码
fun main() {
    println(birthdayGreeting("Rover"))
}

fun birthdayGreeting(name: String): String {
    val nameGreeting = "Happy Birthday, $name!"
    val ageGreeting = "You are now 5 years old!"
    return "$nameGreeting\n$ageGreeting"
}

你可以用不同的参数调用函数:

kotlin 复制代码
println(birthdayGreeting("Rex"))

5. 多个形参

一个函数可以有多个参数:

kotlin 复制代码
fun main() {
    println(birthdayGreeting("Rover", 5))
    println(birthdayGreeting("Rex", 2))
}

fun birthdayGreeting(name: String, age: Int): String {
    return "Happy Birthday, $name!\nYou are now $age years old!"
}

输出:

kotlin 复制代码
Happy Birthday, Rover!
You are now 5 years old!
Happy Birthday, Rex!
You are now 2 years old!

6. 使用具名实参

调用函数时,可以明确指定参数名称,提高可读性或改变顺序:

kotlin 复制代码
println(birthdayGreeting(name = "Rex", age = 2))
println(birthdayGreeting(age = 5, name = "Rover"))

输出保持一致,Kotlin 会根据名称匹配参数。

7. 默认参数

为参数设置默认值,让函数调用更灵活:

kotlin 复制代码
fun main() {
    println(birthdayGreeting(age = 5))
    println(birthdayGreeting("Rex", 2))
}

fun birthdayGreeting(name: String = "Rover", age: Int): String {
    return "Happy Birthday, $name! You are now $age years old!"
}

输出:

kotlin 复制代码
Happy Birthday, Rover! You are now 5 years old!
Happy Birthday, Rex! You are now 2 years old!

8. 小结

  • 使用 fun 定义函数。

  • 函数可以有参数和返回值。

  • 参数在函数定义中声明,调用时传入实参。

  • 可以使用具名实参或默认值简化调用。

  • 函数让代码更简洁、可重用、易维护。

📖 引用与版权说明

  • 本文内容部分参考自 Kotlin 官方文档Android Developers 官方指南,并结合作者的实战经验进行讲解与整理。
  • 文中图片(如代码结构示意图)来源于官方图床或官方文档示例,仅用于教学与学习目的。
  • 代码示例均为原创或根据官方示例改写,遵循 Apache License 2.0 协议。
  • 若涉及版权问题或引用不当,请联系作者进行处理。
相关推荐
alexhilton1 天前
在Compose中用Shader实现透明的粘稠元球效果
android·kotlin·android jetpack
jinanwuhuaguo2 天前
OpenClaw 2026.4.5 深度解读
android·开发语言·人工智能·kotlin·openclaw
默 语2 天前
OpenClaw“养龙虾“热潮降温的深层解析:从技术狂欢到理性回归
android·开发语言·kotlin
Carson带你学Android2 天前
编译更快、语法更香?一文看懂 Kotlin 2.3.20 的 6 大核心演进
android·kotlin
雨白2 天前
深入理解 Kotlin 协程 (二):万剑归宗,揭秘 Kotlin 协程的精妙取舍
kotlin
常利兵2 天前
解锁Kotlin:数据类与密封类的奇妙之旅
android·开发语言·kotlin
jzlhll1234 天前
kotlin flow去重distinctUntilChanged vs distinctUntilChangedBy
android·开发语言·kotlin
zh_xuan5 天前
Android compose 可见性动画未执行问题修复
android·compose
jinanwuhuaguo5 天前
最新更新版本,OpenClaw v2026.4.2 深度解读剖析:Task Flow 重磅回归与安全架构的全面硬化
android·开发语言·人工智能·回归·kotlin·安全架构·openclaw
ForteScarlet5 天前
从 Kotlin 编译器 API 的变化开始: 2.3.20
android·开发语言·后端·ios·开源·kotlin