news 2026/4/23 21:03:25

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/4/23 7:49:24

【Java毕设全套源码+文档】基于springboot的果蔬种植销售一体化服务平台的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/23 7:50:38

超越SIFT与ORB:深入OpenCV特征检测API的设计哲学与高阶实践

好的,请看这篇关于OpenCV特征检测API的技术文章: 超越SIFT与ORB:深入OpenCV特征检测API的设计哲学与高阶实践 引言:特征检测的演进与OpenCV的桥梁角色 在计算机视觉的宏大叙事中,局部特征检测与描述始终扮演着“基石探…

作者头像 李华
网站建设 2026/4/23 9:17:29

RookieAI_yolov8:颠覆性AI游戏辅助技术实战指南

RookieAI_yolov8:颠覆性AI游戏辅助技术实战指南 【免费下载链接】RookieAI_yolov8 基于yolov8实现的AI自瞄项目 项目地址: https://gitcode.com/gh_mirrors/ro/RookieAI_yolov8 RookieAI_yolov8作为基于YOLOv8深度优化的开源AI自瞄项目,通过革命性…

作者头像 李华
网站建设 2026/4/23 9:19:14

【63】特征匹配:LATCH二值描述符的原理与Python实现

简介 本文围绕2015年CVPR提出的LATCH(Learned Arrangements of Three Patch Codes)二值特征描述符展开,解析其对传统二值描述符的优化思路——用像素块比较替代点对比较以平衡速度与唯一性。结合OpenCV-Python,我们将完整实现LATC…

作者头像 李华
网站建设 2026/4/23 9:19:14

3 MyBatis 测试流程与核心原理解析

3 MyBatis 测试流程与核心原理解析 3.1 测试类整体结构 该UserTest类是基于 JUnit 框架的 MyBatis 测试类,主要包含四部分:成员变量:存储关键对象(输入流、数据库会话、接口代理)。Before 方法(init&#…

作者头像 李华
网站建设 2026/4/23 9:21:04

如何快速解决GSE宏限制:魔兽世界经典版完整指南

如何快速解决GSE宏限制:魔兽世界经典版完整指南 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. It uses Travis for UnitTests, Coveralls to report on test coverage and the Cur…

作者头像 李华