Загрузка данных


data class User(
    val name: String,
    var email: String?,
    var age: Int,
    var isActive: Boolean = false
)

data class Config(
    var host: String,
    var port: Int,
    var timeout: Int = 30
)

fun main() {

    val user = User("Алексей", null, 20)

    user.email?.let {
        println("Email: $it")
    }

    user.apply {
        email = "user@mail.ru"
        isActive = true
    }

    println(user)


    val config = Config("localhost", 8080).apply {
        port = 3000
        timeout = 60
    }.also {
        println("Конфиг создан: $it")
    }

    println(config)


    val length = " Kotlin is Awesome ".run {
        trim().uppercase().length
    }

    println(length)


    val numbers = listOf(10, 20, 30)

    val result = with(numbers) {
        Triple(
            sum(),
            average(),
            maxOrNull()
        )
    }

    println("Сумма: ${result.first}")
    println("Среднее: ${result.second}")
    println("Максимум: ${result.third}")


    val nullableList: List<Int>? = listOf(1, 2, 3)

    nullableList?.let {
        println("Сумма списка: ${it.sum()}")
    }
}