var name: String = "张三"
var age = 25
val pi = 3.14
val message: String = "Hello"
lateinit var user: User
val int: Int = 100
val long: Long = 100L
val float: Float = 3.14f
val double: Double = 3.14
val char: Char = 'A'
val str: String = "Hello"
val isTrue: Boolean = true
val array = arrayOf(1, 2, 3)
val intArray = intArrayOf(1, 2, 3)
val name = "张三"
val message = "你好,$name"
val info = "年龄:${age + 1}"
val text = """
第一行
第二行
第三行
""".trimIndent()
fun add(a: Int, b: Int): Int {
return a + b
}
fun multiply(a: Int, b: Int) = a * b
fun greet(name: String = "Guest") {
println("Hello, $name")
}
greet(name = "张三")
fun sum(vararg numbers: Int): Int {
return numbers.sum()
}
val max = if (a > b) a else b
when (x) {
1 -> println("One")
2 -> println("Two")
in 3..10 -> println("3-10")
else -> println("Other")
}
val result = when {
x > 0 -> "正数"
x < 0 -> "负数"
else -> "零"
}
for (i in 1..5) {
println(i)
}
for (i in 1 until 5) {
println(i)
}
for (i in 5 downTo 1) {
println(i)
}
for (i in 1..10 step 2) {
println(i)
}
val array = arrayOf("a", "b", "c")
for (item in array) {
println(item)
}
for ((index, item) in array.withIndex()) {
println("$index: $item")
}
while (condition) {
}
var name: String? = null
val length = name?.length
val len = name?.length ?: 0
val len2 = name!!.length
val num: Int? = str as? Int
class Person(val name: String, var age: Int) {
fun introduce() {
println("我是 $name,今年 $age 岁")
}
}
val person = Person("张三", 25)
person.introduce()
data class User(val id: Int, val name: String)
val user1 = User(1, "张三")
val user2 = user1.copy(name = "李四")
object DatabaseManager {
fun connect() {
println("连接数据库")
}
}
DatabaseManager.connect()
open class Animal(val name: String) {
open fun makeSound() {
println("动物叫")
}
}
class Dog(name: String) : Animal(name) {
override fun makeSound() {
println("汪汪汪")
}
}
abstract class Shape {
abstract fun area(): Double
}
class Circle(val radius: Double) : Shape() {
override fun area() = Math.PI * radius * radius
}
interface Clickable {
fun click()
fun showOff() {
println("默认实现")
}
}
class Button : Clickable {
override fun click() {
println("按钮被点击")
}
}
fun String.lastChar(): Char = this[length - 1]
val str = "Hello"
println(str.lastChar())
val String.lastIndex: Int
get() = length - 1
val sum = { a: Int, b: Int -> a + b }
println(sum(1, 2))
val numbers = listOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 }
val evens = numbers.filter { it % 2 == 0 }
val sum = numbers.reduce { acc, n -> acc + n }
numbers.forEach { println(it) }
val list = listOf(1, 2, 3)
val mutableList = mutableListOf(1, 2, 3)
mutableList.add(4)
val set = setOf(1, 2, 3)
val mutableSet = mutableSetOf(1, 2, 3)
val map = mapOf("a" to 1, "b" to 2)
val mutableMap = mutableMapOf("a" to 1)
mutableMap["c"] = 3
val filtered = list.filter { it > 2 }
val mapped = list.map { it * 2 }
val sorted = list.sortedDescending()
GlobalScope.launch {
delay(1000)
println("World")
}
println("Hello")
suspend fun fetchData(): String {
delay(1000)
return "Data"
}
lifecycleScope.launch {
val data = fetchData()
println(data)
}
val deferred = async {
fetchData()
}
val result = deferred.await()
val result = str?.let {
it.toUpperCase()
}
val person = Person().apply {
name = "张三"
age = 25
}
val numbers = mutableListOf(1, 2, 3).also {
println("添加前:$it")
}.apply {
add(4)
}
val result = person.run {
introduce()
age
}
with(person) {
introduce()
}
sealed class Result {
data class Success(val data: String) : Result()
data class Error(val message: String) : Result()
object Loading : Result()
}
fun handleResult(result: Result) {
when (result) {
is Result.Success -> println(result.data)
is Result.Error -> println(result.message)
Result.Loading -> println("加载中")
}
}
class User {
var name: String by Delegates.observable("初始值") { prop, old, new ->
println("$old -> $new")
}
}
val data: String by lazy {
println("初始化")
"数据"
}
interface Base {
fun print()
}
class BaseImpl : Base {
override fun print() = println("Base")
}
class Derived(b: Base) : Base by b
val base = BaseImpl()
val derived = Derived(base)
derived.print()