
书: https://pan.baidu.com/s/1hMg-9fMkkzntAfHoLymQMA?pwd=2tx9
笔记如下:
- Kotlin简介:Kotlin是一种现代、简洁、安全的静态类型编程语言,完全兼容Java。
- 空安全:Kotlin通过可空(
?)和非空类型(如StringvsString?)减少空指针异常。 - 函数定义:使用
fun关键字,如fun greet(name: String): String { return "Hello, $name!" }。 - 扩展函数:可以为现有类添加新方法,如
fun String.addExclamation() = "$this!"。 - 数据类:
data class自动生成equals()、hashCode()和toString(),如data class User(val name: String, val age: Int)。 - Lambda表达式:简化函数式编程,如
list.filter { it > 0 }.map { it * 2 }。 - 协程:轻量级线程,用于异步编程,如
launch { delay(1000); println("Done") }。 - 集合操作:丰富的API如
map、filter、groupBy,支持链式调用。 - 默认参数与命名参数:函数参数可设默认值,调用时可指定参数名,如
fun connect(timeout: Int = 1000)。 - 对象表达式与伴生对象:
object关键字实现单例,companion object替代Java静态成员。 - 密封类:
sealed class限制继承层次,常用于状态管理,如sealed class Result。 - 作用域函数:
let、apply、run、with、also简化对象操作,如user?.let { println(it.name) }。 - 类型推断:变量类型可省略,如
val message = "Hello"(自动推断为String)。 - 字符串模板:支持变量嵌入,如
"Value: $value"或表达式"Sum: ${a + b}"。 - 解构声明:分解对象属性,如
val (name, age) = user。 - 内联函数:
inline减少高阶函数运行时开销,如inline fun measureTime(block: () -> Unit)。 - 委托属性:通过
by实现属性延迟加载(lazy)、观察(observable)等模式。 - 与Java互操作:Kotlin可无缝调用Java代码,反之亦然,支持
@JvmStatic等注解。 - Android开发:Kotlin成为Android官方语言,简化视图绑定(
findViewById替代)、协程处理异步任务。 - 性能优化:Kotlin编译为高效字节码,协程减少线程开销,内联函数提升运行效率。