Tajribangizda biladigan yoki ishlatgan yordamchi funksiyalar nima?
sobes.tech AI
AIdan javob
-
Lambda ifodalar: Kichik funksiyalar uchun kodni qisqartiradi, masalan, bosish yoki callbacklar.
-
Kengaytirish funksiyalari (Kotlin): Mavjud sinflarga yangi funksiyalar qo'shadi, meros olmadan, o'qish va qulaylikni oshiradi.
fun String.isPalindrome(): Boolean { // String palindrom ekanligini tekshiradi return this == this.reversed() } -
Inline funksiyalar (Kotlin): Funksiya tanasini chaqirish joyiga joylashtiradi, bu lambda bilan ishlashda xotira vaqti xarajatlarini kamaytiradi.
inline fun measureExecutionTime(block: () -> Unit) { // Kod blokining bajarilish vaqtini o'lchaydi val startTime = System.currentTimeMillis() block() val endTime = System.currentTimeMillis() println("Bajarilish vaqti: ${endTime - startTime} ms") } -
Ma'lumotlar sinflari (Kotlin):
equals(),hashCode(),toString(),copy()funksiyalarini avtomatik yaratadi, ma'lumotlarni saqlash uchun qulay.data class User(val name: String, val age: Int) -
Yopiq sinflar (Kotlin): Sinf hierarhiyasini cheklaydi, holat yoki voqealarni modellashtirish uchun foydalidir, ayniqsa
whenbilan. -
Generics: Turli ma'lumot turlari bilan ishlovchi qayta foydalaniladigan komponentlar yaratishga imkon beradi.
public class Box<T> { // Har qanday ma'lumot turini saqlash uchun umumiy sinf private T data; public void setData(T data) { this.data = data; } public T getData() { return data; } } -
Kolleksiyalar bilan operatsiyalar (map, filter, reduce va boshqalar): Ma'lumotlar kolleksiyalarini qayta ishlash uchun funksional metodlar.
val numbers = listOf(1, 2, 3, 4, 5) val squaredEvenNumbers = numbers .filter { it % 2 == 0 } // Juftlarni filtrlash .map { it * it } // Kvadratga oshirish -
Resurslarni olish (Kotlin): Stringlar, ranglar, o'lchamlar va boshqalarni resurslardan olish uchun.
val appName = context.getString(R.string.app_name) val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) -
Null turlari va xavfsiz chaqiruvlar (Kotlin):
NullPointerExceptionsonini kamaytiradi.val name: String? = null val length = name?.length ?: 0 // Xavfsiz chaqiruv va Elvis operatori