news 2026/7/14 9:57:43

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android Compose 基础系列:在 Kotlin 中创建和使用函数

1. 什么是函数

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

fun main() {

println("Hello, world!")

}

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

2. 定义并调用函数

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

a

fun main() {

birthdayGreeting()

}

fun birthdayGreeting() {

println("Happy Birthday, Rover!")

println("You are now 5 years old!")

}

运行结果:

Happy Birthday, Rover!

You are now 5 years old!

3. 从函数返回值

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

fun main() {

println(birthdayGreeting())

}

fun birthdayGreeting(): String {

val nameGreeting = "Happy Birthday, Rover!"

val ageGreeting = "You are now 5 years old!"

return "$nameGreeting\n$ageGreeting"

}

输出:

Happy Birthday, Rover!

You are now 5 years old!

4. 添加形参(参数)

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

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"

}

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

println(birthdayGreeting("Rex"))

5. 多个形参

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

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!"

}

输出:

Happy Birthday, Rover!

You are now 5 years old!

Happy Birthday, Rex!

You are now 2 years old!

6. 使用具名实参

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

println(birthdayGreeting(name = "Rex", age = 2))

println(birthdayGreeting(age = 5, name = "Rover"))

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

7. 默认参数

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

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!"

}

输出:

Happy Birthday, Rover! You are now 5 years old!

Happy Birthday, Rex! You are now 2 years old!

8. 小结

使用 fun 定义函数。

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

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

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

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

📖 引用与版权说明

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 14:20:18

解锁MPC-HC隐藏技能:DVD播放与章节管理完全掌控指南

解锁MPC-HC隐藏技能:DVD播放与章节管理完全掌控指南 【免费下载链接】mpc-hc Media Player Classic 项目地址: https://gitcode.com/gh_mirrors/mp/mpc-hc 还在为DVD播放时的繁琐操作而烦恼吗?Media Player Classic - Home Cinema (MPC-HC) 这款经…

作者头像 李华
网站建设 2026/7/13 0:04:14

32、深入理解文件系统操作:从挂载到目录管理

深入理解文件系统操作:从挂载到目录管理 在文件系统的操作中,有许多重要的概念和操作需要我们去理解和掌握。下面将详细介绍文件系统中一些关键的操作和概念,包括 iget 与 iput 的配对使用、 minodes 锁定机制、根文件系统挂载、基本文件操作命令(如 ls 、 cd 、…

作者头像 李华
网站建设 2026/7/13 21:37:13

传统CH341驱动开发vs快马AI生成:效率对比测试

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成一个完整的CH341驱动开发效率对比测试项目。包含传统开发方式的分阶段时间记录模板,以及使用快马平台AI生成的完整驱动代码。要求测试案例覆盖设备枚举、数据传输、…

作者头像 李华
网站建设 2026/7/14 8:20:43

33、EXT2文件系统操作详解

EXT2文件系统操作详解 1. 文件删除与移动 当删除文件条目时,如果该条目是块中的第一个但不是唯一的条目,或者位于块的中间,需要将所有后续条目左移以覆盖被删除的条目,并将被删除条目的 rec_len 加到最后一个条目上,同时不改变父文件的大小。以下是删除前后的块内容示…

作者头像 李华
网站建设 2026/7/14 21:57:01

37、深入理解TCP/IP网络编程:从基础到实践

深入理解TCP/IP网络编程:从基础到实践 1. IP主机与IP地址 主机是支持TCP/IP协议的计算机或设备,每台主机由一个32位的IP地址标识。为方便表示,32位IP地址常采用点分十进制表示,如 134.121.64.1 。主机还有主机名,如 dns1.eecs.wsu.edu ,实际应用中多使用主机名,可通…

作者头像 李华
网站建设 2026/7/13 20:39:02

4步生成专业视频:Wan2.1-I2V-Lightx2v如何重构创作效率

4步生成专业视频:Wan2.1-I2V-Lightx2v如何重构创作效率 【免费下载链接】Wan2.1-I2V-14B-480P-StepDistill-CfgDistill-Lightx2v 项目地址: https://ai.gitcode.com/hf_mirrors/lightx2v/Wan2.1-I2V-14B-480P-StepDistill-CfgDistill-Lightx2v 导语 只需4步…

作者头像 李华