Kotlin Multiplatform Broadcast
9.47K subscribers
838 photos
53 videos
1.13K links
Новости и фичи Kotlin, а также Kotlin Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Compose Multiplatform @compose_broadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
#Kotlin #stdlib

Kotlin Standard Library Safari. Strings (7 минут)

Новый подкаст с обзором различных API из стандартной Kotlin библиотеки. В первом эпизоде рассматривается API класс String

Информация будет полезна новичкам, а также тем кто не бороздит API, а надеется на его понимание на лету в IDE
#stdlib

Kotlin Collections vs Sequences in just 5 minutes

Для работы со множеством значений в Kotlin есть коллекции и последовательности (sequences). Чем они отличаются? Первые при выполнении всегда будут создавать новые коллекции и обходят все элементы, а вот последовательности проводят всю цепочку операторов для каждого элемента.
#коллекции #stdlib

Advanced Kotlin Collection Functionality

Разбор полезных операторов для работы с коллекциями в стандартной библиотеке Kotlin. Вполне возможно из-за незнания их существование вы могли нагородить костылей у себя в коде.
#stdlib

Kotlin Standart Library Safari #5. Lists

Обзор возможностей List в стандартной библиотеке Kotlin: cоздание, операторы и MutableList
#stdlib

Kotlin — Lazy Thread-safety modes explained (3 мин)

Вы знаете что в Kotlin 3 режима работы lazy делегата? Причем по умолчанию вариант не всегда самый оптимальный для UI! Так вот в статье вам расскажут про это
👍29👎3🤔3
Media is too big
VIEW IN TELEGRAM
📹 В стандартной библиотеки Kotlin 2.1 добавили KMP версию UUID (экспериментальное API). В видео больше подробностей

UUID (Universally Unique Identifier) - это универсальный уникальный идентификатор, используемый для уникальной идентификации объектов в распределённых системах. UUID широко применяется в программировании, базах данных, сетевых приложениях и других областях, где требуется обеспечить уникальность идентификатора. UUID имеет длину 128 бит (16 байт)

#kmp #stdlib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍12
🔥 Функции check() и require() в Kotlin — когда и зачем использовать?

В Kotlin Standard Library есть две полезные функции, которые помогают явно выражать условия выполнения кода:
require() — используется для проверки аргументов функции.
check() — используется для проверки внутреннего состояния объекта или логики приложения.

Эти функции выбрасывают исключения, если указанное условие не выполняется:
👉 require() выбрасывает IllegalArgumentException
👉 check() выбрасывает IllegalStateException

📌 Примеры применения:
// require() для проверки входных аргументов:
fun calculateArea(width: Int, height: Int): Int {
require(width > 0 && height > 0) {
"Width and height must be positive!"
}
return width * height
}


// check() для контроля состояния внутри объекта:
class Connection {
var isConnected: Boolean = false

fun send(data: String) {
check(isConnected) {
"Cannot send data: not connected!"
}
// отправка данных
}
}


Важный плюс использования check() и require() — это контракты Kotlin, благодаря которым компилятор лучше понимает состояние переменных после проверки и помогает избежать лишних проверок и ошибок.

Например:
val data: String? = getData()
checkNotNull(data) {
"Data must not be null!"
}
// Теперь компилятору гарантировано data != null
println(data.length)


⚠️ Хорошо ли специально выбрасывать исключения?

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

Считаете ли вы нормальным выбросить исключение или лучше другим путем обработать ошибку? Делитесь в комментариях

#kotlin #stdlib
👍52🤔1