Funksional turlar, funksiyalarni, funksiyaning parametri yoki qaytardigan qiymati sifatida qarash mumkin
Lambda ifodalari, agar siz kod bloklarini atrofida minimal boilerplate yordamida o’tkazib yuborsangiz
Data klasslar, turli qiymatli qiymatli o’zgarmas obyektlarni yaratish uchun qisqacha sintaksisni taqdim etadi
Funktsional uslubdagi ob’ektlar va to`plamlar bilan ishlash uchun standart kutubxonada boy API to’plami
Kotlin sizni funksional uslubda dasturlash imkonini beradi, ammo uni majburiy ijro etmaydi. Va, albatta, interfeyslar va sinf iarxiyasiga asoslangan Framework bilan ishlash, Java kabi, juda oson. Kodni Kotlin-da yozganda, siz obyektga yo’naltirilgan va funktsional yondashuvlarni birlashtira olasiz va o’zingiz hal qilmoqchi bo’lgan muammoning yechimiga mos keluvchi vositalardan foydalanishingiz mumkin
Tekin va ochiq kodli
Kotlin tili, shu jumladan kompilyator, kutubxonalar va barcha tegishli vositalar butunlay ochiq kodli va har qanday maqsadda foydalanish uchun bepul. Bu Apache 2 litsenziyasiga ega va GitHub da ochiq bo’lib, hamma o’z hissalarini qo’shmoqda. Kotlin ilovalarini ishlab chiqish uchun 3ta ochiq kodli IDE ni tanlashingiz mumkin:
IntelliJ IDEA Community Edition( hamda IntelliJ IDEA Ultimate)
Android Studio
Eclipse
Til sintaksisida JavaScript , Paskal , TypeScript , Haxe , PL/SQL , F # , Go va Scala , C++ , Java , C# , Rust va D elementlari ishlatiladi....
O'zgaruvchilar va parametrlarni e'lon qilishda ma'lumotlar turlari nomdan keyin ko'rsatiladi (ajratuvchi - ko'p nuqta). Nuqtali vergul ajratuvchi sifatida ham ixtiyoriy (Scala, Groovy va JavaScript-da bo'lgani kabi); aksariyat hollarda kompilyatorga ifoda tugaganligini aytish uchun yangi satr kifoya qiladi. Ob'ektga yo'naltirilgan yondashuvdan tashqari, Kotlin funktsiyalar yordamida protsessual uslubni ham qo'llab-quvvatlaydi. C , C ++ va D da bo'lgani kabi, dasturga kirish nuqtasimain buyruq satri parametrlari qatorini oladigan funktsiya. Kotlin dasturlari shuningdek perl va shell uslubidagi interpolatsiyani qo'llab-quvvatlaydi (qatorga kiritilgan o'zgaruvchilar ularning mazmuni bilan almashtiriladi). Turi xulosasi ham qo'llab-quvvatlanadi .
Agar kerak bo'lsa, biz har safar qo'lda amalga oshiradigan bir nechta asosiy turdagi xususiyatlar mavjud. Ammo ularni bir marotaba amalga oshirish va ba'zi kutubxonalarga joylashtirish ancha qulayroq bo'ladi. Bunday xususiyatlarga misollar: