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
  • 默认参数与具名参数

默认参数与具名参数

默认参数

Kotlin 允许在函数定义时为参数指定默认值,当调用函数时若未传递该参数,则使用默认值。这一特性可以减少函数重载的需求。

语法

fun greet(name: String = "World") {
    println("Hello, $name!")
}

调用方式

greet()          // 输出: Hello, World!
greet("Kotlin")  // 输出: Hello, Kotlin!

优势

  1. 减少重载函数数量
  2. 提高代码可读性
  3. 向后兼容性更好(新增参数时不影响已有调用)

具名参数

Kotlin 支持在调用函数时通过参数名指定参数值,这在参数较多或需要跳过某些默认参数时特别有用。

语法

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

调用示例

// 传统位置参数调用
createUser("Alice", 25, "alice@example.com", false)

// 具名参数调用
createUser(
    name = "Bob",
    email = "bob@example.com"
)

// 混合调用(位置参数必须在具名参数前)
createUser("Charlie", isAdmin = true)

使用场景

  1. 函数参数较多时提高可读性
  2. 需要跳过某些默认参数时
  3. 参数顺序不明确时避免错误

注意事项

  1. 当同时使用位置参数和具名参数时,所有位置参数必须放在具名参数之前
  2. Java 代码调用 Kotlin 函数时不能使用具名参数特性
  3. 具名参数不支持函数类型的参数

实际应用示例

// 网络请求函数
fun makeRequest(
    url: String,
    method: String = "GET",
    headers: Map<String, String> = emptyMap(),
    body: String? = null
) {
    println("Making $method request to $url")
    // 实际请求逻辑...
}

// 调用示例
makeRequest(
    url = "https://api.example.com/data",
    headers = mapOf("Authorization" to "Bearer token123"),
    method = "POST"
)

总结

默认参数和具名参数是 Kotlin 中提高代码简洁性和可读性的重要特性:

  • 默认参数减少了函数重载的需求
  • 具名参数使函数调用更加清晰
  • 两者结合可以创建更灵活、更易维护的 API
Last Updated:: 5/21/25, 7:58 PM