Kotlin基础语法五

目录

  1. 函数进阶:默认参数与命名参数

  2. 高阶函数与Lambda表达式

  3. 扩展函数与扩展属性

  4. 数据类(data class)

  5. 密封类(sealed class)

  6. 泛型基础


1️⃣ 函数进阶:默认参数与命名参数

  • Kotlin支持函数参数默认值,调用时可省略参数。

  • 调用时可用命名参数明确传递,增加代码可读性。

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

greet()                      // Hello, World!
greet("Kotlin")              // Hello, Kotlin!
greet(punctuation = "?")     // Hello, World?
greet(name = "Alice", punctuation = ".")  // Hello, Alice.

2️⃣ 高阶函数与Lambda表达式

  • 高阶函数:参数或返回值为函数的函数。

  • Lambda表达式:匿名函数简写,方便传递代码块。

fun operateOnNumbers(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
    return operation(a, b)
}

val sum = operateOnNumbers(3, 4) { x, y -> x + y }
println(sum) // 7

3️⃣ 扩展函数与扩展属性

  • 给已有类添加新函数或属性,无需继承,增强代码灵活性。

fun String.addExclamation(): String {
    return this + "!"
}

println("Hello".addExclamation())  // Hello!

4️⃣ 数据类(data class)

  • 用于存储数据的类,自动生成equals、hashCode、toString、copy等函数。

data class User(val name: String, val age: Int)

val user1 = User("Bob", 25)
val user2 = user1.copy(age = 26)
println(user1)  // User(name=Bob, age=25)
println(user2)  // User(name=Bob, age=26)

5️⃣ 密封类(sealed class)

  • 用于表示有限的类型集合,通常用来代替枚举,支持继承。

sealed class Result
data class Success(val data: String): Result()
data class Error(val error: Throwable): Result()

fun handleResult(result: Result) {
    when(result) {
        is Success -> println("Success: ${result.data}")
        is Error -> println("Error: ${result.error.message}")
    }
}

6️⃣ 泛型基础

  • Kotlin支持泛型,提升代码复用性和类型安全。

class Box<T>(val value: T)

val intBox = Box(123)
val stringBox = Box("Kotlin")
println(intBox.value)    // 123
println(stringBox.value) // Kotlin

Kotlin基础语法五 – 菜鸟-创作你的创作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值