Kotlin 是一种在 Java 虚拟机(JVM)上运行的静态类型编程语言,由 JetBrains 公司开发。Kotlin 的名字来源于俄罗斯圣彼得堡附近的 Kotlin 岛(科特林岛)。2017 年,Google 宣布 Kotlin 成为 Android 官方支持的开发语言。
Kotlin 的核心定位是 更现代、更安全的 Java 替代品。它提供了:
Kotlin 由 JetBrains 公司于 2010 年开始设计,2011 年首次公开。JetBrains 作为 IntelliJ IDEA 的开发者,深刻理解 Java 开发的痛点。Kotlin 的目标是 解决 Java 的繁琐和空指针问题,同时保持与 Java 的完全兼容。
fun main(args: Array<String>)val:不可变(只读)var:可变//、/* */、/** */(KDoc)// Kotlin 程序示例
fun main() {
val name = "Kotlin" // 不可变
var year = 2016 // 可变
println("Hello, $name!")
year = 2024
}
Int、Long、Short、ByteFloat、DoubleBoolean(true/false)Char(字符)String(字符串)List:不可变列表MutableList:可变列表Map:不可变键值对MutableMap:可变键值对Set:不可变集合MutableSet:可变集合String?(可为空)vs String(不可为空)var name: String = "Alice" 不能赋值为 nullvar name: String? = nullname?.length(如果 name 为 null,返回 null)name ?: "Unknown"(如果 null 则使用默认值)name!!.length(强制非空,可能抛出 NPE,慎用)name?.let { println(it.length) }// 空安全示例
fun greet(name: String?) {
val length = name?.length ?: 0
println("Name length: $length")
// 安全调用
name?.let {
println("Hello, $it!")
}
}
val max = if (a > b) a else bfor (i in 1..10)、while// when 表达式
fun describe(obj: Any): String = when (obj) {
1 -> "One"
"hello" -> "Greeting"
is Long -> "Long number"
!is String -> "Not a string"
else -> "Unknown"
}
fun add(a: Int, b: Int): Int = a + bfun greet(name: String = "World")greet(name = "Alice")fun sum(vararg numbers: Int)val square = { x: Int -> x * x }class Person(val name: String, var age: Int)data class User(val id: Int, val name: String)(自动生成 toString、equals、hashCode)class Student(name: String, age: Int, val school: String) : Person(name, age)interface Greetable { fun greet(): String }suspend fun// 协程示例
import kotlinx.coroutines.*
suspend fun fetchUser(id: Int): String {
delay(1000) // 模拟网络请求
return "User $id"
}
fun main() = runBlocking {
// 并发请求
val user1 = async { fetchUser(1) }
val user2 = async { fetchUser(2) }
val result = listOf(user1.await(), user2.await())
println(result)
}
fun String.isEmail(): Boolean = contains("@")val String.isPhone: Boolean get() = length == 11class Box(val item: T) fun swap(a: T, b: T) out(协变)、in(逆变)Kotlin Multiplatform(KMP) 是 Kotlin 的跨平台开发技术,允许开发者用一套代码编译为:
Kotlin 的类型系统从根本上杜绝了 NullPointerException,这是 Java 开发者最大的痛点之一。
Kotlin 可以调用任何 Java 库,也可以被 Java 调用。你可以在同一个项目中混合使用 Kotlin 和 Java。
Kotlin 比 Java 减少 20-30% 的代码量,开发效率大幅提升。
Kotlin 的协程让异步编程变得简单、直观、高效。
Kotlin 是 Google 官方推荐的 Android 开发语言,享有完整的生态系统支持。
Kotlin Multiplatform 让一套代码可以运行在 Android、iOS、Web 和桌面端。
熟悉 Java 基础(或者直接学 Kotlin,不需要 Java 基础)
Kotlin 基础语法、数据类型、控制流、函数、空安全
类与对象、数据类、扩展函数、协程、集合操作
Android 开发(Jetpack Compose)或 后端开发(Spring Boot / Ktor)
Kotlin 是 Android 开发的新标准。
它用 空安全、简洁语法、协程 重新定义了 Android 开发体验。Kotlin 不是 Java 的替代者,而是 Java 的 现代化升级。
如果你是 Android 开发者,Kotlin 是必修课。如果你正在开始新项目,Kotlin 比 Java 更值得选择。随着 Kotlin Multiplatform 的成熟,Kotlin 正在成为跨平台开发的重要力量。
"Kotlin 让 Android 开发从痛苦变成了享受。" 📱
—— Android 开发者社区评价