Oldingi bobda biz Kotlin nomli faylni yaratdik Main() va ekranga “Salom Uzbekdevsga xush kelibsiz!” ni chop etish uchun quyidagi koddan foydalandik:
Misol:
fun main() {
println("Salom Uzbekdevsga xush kelibsiz!")
}
fun kalit so'z funktsiyani e'lon qilish uchun ishlatiladi. Funksiya ma'lum bir vazifani bajarish uchun mo'ljallangan kod blokidir. Yuqoridagi misolda u main() funktsiyani e'lon qiladi.
Funktsiya main() har bir kotlin dasturida ko'radigan narsadir. Bu funksiya kodni bajarish uchun ishlatiladi. main() funktsiyaning jingalak qavslari ichidagi har qanday kod bajariladi.
Masalan, println() funktsiya funksiya ichida main(), ya'ni bu bajariladi. Funktsiya println() matnni chiqarish/chop etish uchun ishlatiladi va bizning misolimizda u " Salom Uzbekdevsga xush kelibsiz!" ni chiqaradi.
Ma'lumot uchun yaxshi: Kotlinda kod bayonotlari nuqta-vergul ( ) bilan tugashi shart emas. (bu ko'pincha Java , C++ , C# va boshqalar kabi boshqa dasturlash tillari uchun talab qilinadi).
Asosiy parametrlar
main() kotlin 1.3 versiyasidan oldin funktsiyadan quyidagi kabi parametrlar bilan foydalanish kerak edi: fun main(args:Array<String>). Yuqoridagi misol ishlash uchun shunday yozilishi kerak edi:
Misol:
fun main(args : Array<String>) {
println("Salom Uzbekdevsga xush kelibsiz!")
}
Kalit so'zlar
Qattiq kalit so'zlar
Quyidagi tokenlar har doim kalit so'zlar sifatida talqin qilinadi va ularni identifikator sifatida ishlatib bo'lmaydi:
asturi quyma uchun ishlatiladi va import uchun taxallusni belgilaydi.as?xavfsiz turdagi quyma uchun ishlatiladi.breaktsiklning bajarilishini tugatadi.classsinfni e'lon qiladi.continueeng yaqin o'rab turgan pastadirning keyingi bosqichiga o'tadi.dodo/while siklini boshlaydi (postshartli sikl).elseshart noto'g'ri bo'lganda bajariladigan if ifodasining filialini belgilaydi .falseMantiqiy turdagi "noto'g'ri" qiymatini belgilaydi.forfor tsiklini boshlaydi.funfunktsiyani e'lon qiladi.ifif ifodasini boshlaydi.interfaceinterfeysini e'lon qiladi .isqiymatning ma'lum bir turi borligini tekshiradi.!isqiymatning ma'lum bir turiga ega emasligini tekshiradi.nullhech qanday ob'ektga ishora qilmaydigan obyekt havolasini ifodalovchi doimiydir.objectbir vaqtning o'zida sinf va uning misolini e'lon qiladi.packagejoriy fayl uchun paketni belgilaydi.returneng yaqin o'rab turgan funksiyadan yoki anonim funksiyadan qaytaradi.throwistisno chiqaradi.trueMantiqiy turdagi "haqiqiy" qiymatini belgilaydi.tryistisnolarni qayta ishlash blokini boshlaydi.typealiasturdagi taxallusni e'lon qiladi.typeofkelajakda foydalanish uchun ajratilgan.valfaqat o'qish uchun xususiyat yoki mahalliy o'zgaruvchini e'lon qiladi.varo'zgaruvchan xususiyat yoki mahalliy o'zgaruvchini e'lon qiladi.whena when ifodasini boshlaydi (berilgan shoxlardan birini bajaradi).whilewhile tsikli boshlanadi (old shartli sikl).
Yumshoq kalit so'zlar
Quyidagi tokenlar oʻzlari qoʻllanadigan kontekstda kalit soʻzlar vazifasini bajaradi va ular boshqa kontekstlarda identifikator sifatida ishlatilishi mumkin:
byinterfeysni amalga oshirishni boshqa ob'ektga topshiradi.- boshqa ob'ektga mulk uchun accessors amalga oshirish vakil qiladi.
catchmuayyan istisno turiga ishlov beruvchi blokni boshlaydi.constructorasosiy yoki ikkinchi darajali konstruktorni e'lon qiladi.delegateizoh foydalanish-sayt maqsadi sifatida ishlatiladi.dynamicKotlin/JS kodidagi dinamik turga murojaat qiladi.fieldizoh foydalanish-sayt maqsadi sifatida ishlatiladi.fileizoh foydalanish-sayt maqsadi sifatida ishlatiladi.finallysinash bloki chiqqanda har doim bajariladigan blokni boshlaydi.importjoriy faylga boshqa paketdan deklaratsiyani import qiladi.initishga tushirish blokini boshlaydi.paramizoh foydalanish-sayt maqsadi sifatida ishlatiladi.propertyizoh foydalanish-sayt maqsadi sifatida ishlatiladi.receiverizoh foydalanish-sayt maqsadi sifatida ishlatiladi.setparamizoh foydalanish-sayt maqsadi sifatida ishlatiladi.valueclasskalit so'z bilan inline sinfini e'lon qiladi.whereumumiy turdagi parametr uchun cheklovlarni belgilaydi.
Modifikator kalit so'zlar
Quyidagi tokenlar deklaratsiyalarning oʻzgartiruvchi roʻyxatlarida kalit soʻzlar vazifasini bajaradi va ular boshqa kontekstlarda identifikator sifatida ishlatilishi mumkin:
abstractsinf yoki a'zoni mavhum sifatida belgilaydi.actualmultiplatforma loyihalarida platformaga xos dasturni bildiradi.annotationizoh sinfini e'lon qiladi.companionhamroh ob'ektini e'lon qiladi.constxususiyatni kompilyatsiya vaqti doimiysi sifatida belgilaydi.crossinlineInline funksiyasiga o'tkazilgan lambdada mahalliy bo'lmagan qaytishni taqiqlaydi.datakompilyatorga sinf uchun kanonik a'zolarni yaratishni buyuradi.enumro'yxatga olishni e'lon qiladi.expectdeklaratsiyani platformaga xos deb belgilaydi, platforma modullarida amalga oshirilishini kutadi.externaldeklaratsiyani Kotlindan tashqarida amalga oshirilganligini belgilaydi.finala'zoni bekor qilishni taqiqlaydi.infixinfix belgisi yordamida funksiyani chaqirishga imkon beradi.inlinekompilyatorga funktsiyani inline qilishni aytadi va qo'ng'iroq saytida unga o'tgan lambdalar .innerichki sinfdan tashqi sinf misoliga murojaat qilish imkonini beradi.internaljoriy modulda ko'rinadigan deklaratsiyani belgilaydi.lateinitkonstruktordan tashqari null bo'lmagan xususiyatni ishga tushirishga imkon beradi .noinlineinline funksiyasiga o'tkazilgan lambda qatorini o'chiradi.opensinfni pastki sinfga o'tkazish yoki a'zoni bekor- qilishga imkon beradi .
operatoroperatorni haddan tashqari yuklash yoki konventsiyani amalga oshirish vazifasini belgilaydi.outtip parametrini kovariant sifatida belgilaydi.overridea'zoni supersinf a'zosining bekor qilinishi sifatida belgilaydi.privatejoriy sinf yoki faylda ko'rinadigan deklaratsiyani belgilaydi.protectedjoriy sinf va uning pastki sinflarida ko'rinadigan deklaratsiyani belgilaydi.publichar qanday joyda ko'rinadigan deklaratsiyani belgilaydi.reifiedinline funksiyasining turi parametrini ish vaqtida foydalanish mumkin deb belgilaydi.sealedmuhrlangan sinfni e'lon qiladi (cheklangan subklassga ega sinf).suspendfunktsiyani yoki lambdani to'xtatuvchi sifatida belgilaydi.tailrecfunktsiyani tail-rekursiv sifatida belgilaydi. (kompilyatorga rekursiyani iteratsiya bilan almashtirishga imkon beradi).varargparametr uchun o'zgaruvchan sonli argumentlarni o'tkazish imkonini beradi.
Maxsus identifikatorlar
Quyidagi identifikatorlar kompilyator tomonidan muayyan kontekstlarda aniqlanadi va ular boshqa kontekstlarda oddiy identifikator sifatida ishlatilishi mumkin:
fieldmulkni qo'llab- quvvatlash maydoniga murojaat qilish uchun xususiyatga kirish vositasi ichida ishlatiladi.itlambda ichida uning parametriga bevosita murojaat qilish uchun ishlatiladi.