天津教育网站官网,网站开发外包合同模板,wordpress 邀请码插件,wordpress 生成 app目录 函数进阶#xff1a;默认参数与命名参数 高阶函数与Lambda表达式 扩展函数与扩展属性 数据类#xff08;data class#xff09; 密封类#xff08;sealed class#xff09; 泛型基础 1️⃣ 函数进阶#xff1a;默认参数与命名参数 Kotlin支持函数参数默认值默认参数与命名参数 高阶函数与Lambda表达式 扩展函数与扩展属性 数据类data class 密封类sealed class 泛型基础 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) // 73️⃣ 扩展函数与扩展属性 给已有类添加新函数或属性无需继承增强代码灵活性。
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(nameBob, age25)
println(user2) // User(nameBob, age26)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 BoxT(val value: T)val intBox Box(123)
val stringBox Box(Kotlin)
println(intBox.value) // 123
println(stringBox.value) // KotlinKotlin基础语法五 – 菜鸟-创作你的创作