KOTLIN_LIB Telegram 571
Секреты Kotlin: 7 мощных фич, которые ежедневно используют топ-1% разработчиков

🔹1. run для безопасной работы с null

Когда тебе нужно выполнить несколько операций с переменной, которая может быть null, вместо длинного if лучше использовать run:


val user: User? = getUser()
user?.run {
println(name)
println(email)
}



🔹2. takeIf и takeUnless

Эти функции позволяют элегантно фильтровать значения:


val input = readLine()

val number = input?.toIntOrNull()?.takeIf { it > 0 }
// number будет null, если условие не выполнено



🔹3. Расширения для sealed классов и enum

Расширения можно использовать, чтобы "добавить" поведение к sealed классам или enum'ам:


sealed class Result
object Success : Result()
object Error : Result()

fun Result.log() = when (this) {
Success -> println("Успех")
Error -> println("Ошибка")
}



🔹4. Smart cast с кастомными проверками

Можно создавать собственные методы-проверки с smart cast внутри:


fun Any.isString(): Boolean = this is String

val value: Any = "Hello"
if (value.isString()) {
println((value as String).length) // не очень
}


Лучше использовать:


if (value is String) {
println(value.length) // безопаснее
}



🔹5. Nothing как маркер "никогда не возвращается"

Тип Nothing указывает, что функция либо кидает исключение, либо бесконечна:


fun fail(message: String): Nothing {
throw IllegalArgumentException(message)
}



🔹6. Рефлексия через ::class

В Kotlin можно получить ссылку на класс:


fun <T : Any> printClassName(value: T) {
println(value::class.simpleName)
}



🔹7. Деструктуризация для data классов и пар

Kotlin позволяет удобно "распаковывать" объекты:


data class User(val name: String, val email: String)

val user = User("Oleg", "[email protected]")
val (name, email) = user



Эти фичи не просто украшения синтаксиса — они помогают писать чище, безопаснее и выразительнее. Изучи их и попробуй внедрить в свою повседневную разработку.

https://proandroiddev.com/kotlin-secrets-7-powerful-features-the-top-1-of-developers-use-daily-161e16e2464d

✍️ @kotlin_lib
👍5



tgoop.com/kotlin_lib/571
Create:
Last Update:

Секреты Kotlin: 7 мощных фич, которые ежедневно используют топ-1% разработчиков

🔹1. run для безопасной работы с null

Когда тебе нужно выполнить несколько операций с переменной, которая может быть null, вместо длинного if лучше использовать run:


val user: User? = getUser()
user?.run {
println(name)
println(email)
}



🔹2. takeIf и takeUnless

Эти функции позволяют элегантно фильтровать значения:


val input = readLine()

val number = input?.toIntOrNull()?.takeIf { it > 0 }
// number будет null, если условие не выполнено



🔹3. Расширения для sealed классов и enum

Расширения можно использовать, чтобы "добавить" поведение к sealed классам или enum'ам:


sealed class Result
object Success : Result()
object Error : Result()

fun Result.log() = when (this) {
Success -> println("Успех")
Error -> println("Ошибка")
}



🔹4. Smart cast с кастомными проверками

Можно создавать собственные методы-проверки с smart cast внутри:


fun Any.isString(): Boolean = this is String

val value: Any = "Hello"
if (value.isString()) {
println((value as String).length) // не очень
}


Лучше использовать:


if (value is String) {
println(value.length) // безопаснее
}



🔹5. Nothing как маркер "никогда не возвращается"

Тип Nothing указывает, что функция либо кидает исключение, либо бесконечна:


fun fail(message: String): Nothing {
throw IllegalArgumentException(message)
}



🔹6. Рефлексия через ::class

В Kotlin можно получить ссылку на класс:


fun <T : Any> printClassName(value: T) {
println(value::class.simpleName)
}



🔹7. Деструктуризация для data классов и пар

Kotlin позволяет удобно "распаковывать" объекты:


data class User(val name: String, val email: String)

val user = User("Oleg", "[email protected]")
val (name, email) = user



Эти фичи не просто украшения синтаксиса — они помогают писать чище, безопаснее и выразительнее. Изучи их и попробуй внедрить в свою повседневную разработку.

https://proandroiddev.com/kotlin-secrets-7-powerful-features-the-top-1-of-developers-use-daily-161e16e2464d

✍️ @kotlin_lib

BY Kotlin




Share with your friend now:
tgoop.com/kotlin_lib/571

View MORE
Open in Telegram


Telegram News

Date: |

Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading. Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. Concise Select “New Channel” Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN.
from us


Telegram Kotlin
FROM American