当前位置: 首页 > news >正文

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 定义函数。

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

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

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

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

📖 引用与版权说明

http://www.cnnetsun.cn/news/18551.html

相关文章:

  • 31、深入探索EXT2文件系统:操作、遍历与实现
  • C盘爆满急救指南:安全删除虚拟内存全流程
  • 银河麒麟桌面操作系统V10 SP1 编译ffmpeg-6.1
  • VisionReward-Image终极解析:重塑AI视觉内容的质量评估范式
  • 智能获客系统深度评测与选型指南 2026五款热门获客平台
  • GPT-5.2实战评测:从“聊天“到“干活“,AI助手进化史
  • 算力直降48%:Moonlight-16B凭什么改写大模型效率规则?
  • 终极代码质量检查:TscanCode如何帮助团队提升开发效率的完整指南
  • DLT Viewer终极指南:从入门到精通的嵌入式日志分析完整教程
  • 如何快速批量下载TikTok封面:完整操作指南
  • nvm-desktop终极指南:高效管理Node.js版本控制方案
  • Django开发效率翻倍:5个必知技巧
  • 开源大模型微调与部署实战指南:从零开始掌握LLaMA Factory工具全流程
  • Windows Cleaner:5分钟彻底解决C盘空间不足的终极方案
  • Python + Ursina设计一个有趣的3D小游戏
  • 企业级Spring应用启动失败排查实战
  • GeoJSON.io:零基础地理数据编辑工具完全指南
  • 特斯拉11月在美销量跌至近四年低点,廉价车型未扭转颓势
  • LangChain4j 比 SolonAI 强在哪?弱在哪?
  • CodeQwen1.5微服务开发实战:从架构设计到部署上线的完整指南
  • 从零玩转RT-Thread(20):为什么需要定时器?——定时器的应用场景
  • eino框架结构化输出解析:从混乱文本到精准数据的魔法转换
  • 小爱音箱终极音乐解放方案:XiaoMusic完整使用指南
  • 从零打造专业级Vue滑块控件:vue-slider-component深度实践指南
  • AnuPpuccin主题深度体验:5个技巧让你的Obsidian笔记焕然一新
  • AI一键搞定!Linux安装JDK17的最佳实践
  • Win11Debloat:释放系统潜能,打造专属纯净Windows体验
  • Python Web开发终极指南:用Ludic框架重构你的前端体验
  • F2批量重命名终极指南:从入门到精通的完整解决方案
  • 深蓝词库转换工具的技术架构与应用实践