Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 参数与返回值

参数与返回值

1. 函数参数的定义与使用

在 Kotlin 中,函数的参数定义在函数名后的括号内,格式为 参数名: 类型。多个参数用逗号分隔。

fun greet(name: String, age: Int) {
    println("Hello, $name! You are $age years old.")
}

调用时需按顺序传入对应类型的参数:

greet("Alice", 25)  // 输出: Hello, Alice! You are 25 years old.

2. 返回值类型声明

Kotlin 函数的返回值类型在参数列表后声明,格式为 : 返回类型。若无返回值(类似 Java 的 void),可省略或显式声明为 Unit。

fun add(a: Int, b: Int): Int {
    return a + b
}

fun printMessage(message: String): Unit {  // Unit 可省略
    println(message)
}

3. 单表达式函数的简写

当函数体只有单个表达式时,可用 = 直接返回结果,并省略返回类型(编译器自动推断):

fun multiply(x: Int, y: Int) = x * y  // 返回类型自动推断为 Int

4. 返回 Nothing 类型

对于永远不会正常返回的函数(如抛出异常),可声明返回类型为 Nothing:

fun fail(message: String): Nothing {
    throw IllegalArgumentException(message)
}

5. 参数默认值与命名参数

Kotlin 支持为参数指定默认值,调用时可选择性传参。结合命名参数,可提高代码可读性:

fun createUser(
    name: String,
    age: Int = 18,  // 默认值
    isAdmin: Boolean = false
) { /* ... */ }

// 调用示例
createUser("Bob", isAdmin = true)  // 跳过 age 参数

6. 可变参数(Varargs)

使用 vararg 关键字定义可变数量参数,类似 Java 的 ...:

fun printAll(vararg messages: String) {
    for (msg in messages) println(msg)
}

// 调用示例
printAll("Hello", "Kotlin", "World")

7. 返回值的高级特性

返回函数(高阶函数)

Kotlin 允许函数返回另一个函数:

fun getOperation(type: String): (Int, Int) -> Int {
    return when (type) {
        "add" -> { a, b -> a + b }
        else -> { a, b -> a * b }
    }
}

val operation = getOperation("add")
println(operation(2, 3))  // 输出 5

返回 Pair 或 Triple

多值返回可通过数据类或标准库的 Pair/Triple 实现:

fun getCoordinates(): Pair<Double, Double> {
    return Pair(52.52, 13.41)  // 柏林经纬度
}

关键点总结

特性示例代码
基本参数与返回值fun sum(a: Int, b: Int): Int
单表达式函数fun max(a: Int, b: Int) = if (a > b) a else b
默认参数与命名参数fun connect(timeout: Int = 5000)
可变参数fun log(vararg entries: String)
返回函数fun createCounter(): () -> Int
Last Updated:: 5/21/25, 7:58 PM