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
👍61



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: |

Hashtags 4How to customize a Telegram channel? As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.”
from us


Telegram Kotlin
FROM American