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:
as
turi quyma uchun ishlatiladi va import uchun taxallusni belgilaydi.as?
xavfsiz turdagi quyma uchun ishlatiladi.break
tsiklning bajarilishini tugatadi.class
sinfni e'lon qiladi.continue
eng yaqin o'rab turgan pastadirning keyingi bosqichiga o'tadi.do
do/while siklini boshlaydi (postshartli sikl).else
shart noto'g'ri bo'lganda bajariladigan if ifodasining filialini belgilaydi .false
Mantiqiy turdagi "noto'g'ri" qiymatini belgilaydi.for
for tsiklini boshlaydi.fun
funktsiyani e'lon qiladi.if
if ifodasini boshlaydi.interface
interfeysini e'lon qiladi .is
qiymatning ma'lum bir turi borligini tekshiradi.!is
qiymatning ma'lum bir turiga ega emasligini tekshiradi.null
hech qanday ob'ektga ishora qilmaydigan obyekt havolasini ifodalovchi doimiydir.object
bir vaqtning o'zida sinf va uning misolini e'lon qiladi.package
joriy fayl uchun paketni belgilaydi.return
eng yaqin o'rab turgan funksiyadan yoki anonim funksiyadan qaytaradi.throw
istisno chiqaradi.true
Mantiqiy turdagi "haqiqiy" qiymatini belgilaydi.try
istisnolarni qayta ishlash blokini boshlaydi.typealias
turdagi taxallusni e'lon qiladi.typeof
kelajakda foydalanish uchun ajratilgan.val
faqat o'qish uchun xususiyat yoki mahalliy o'zgaruvchini e'lon qiladi.var
o'zgaruvchan xususiyat yoki mahalliy o'zgaruvchini e'lon qiladi.when
a when ifodasini boshlaydi (berilgan shoxlardan birini bajaradi).while
while 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:
by
interfeysni amalga oshirishni boshqa ob'ektga topshiradi.- boshqa ob'ektga mulk uchun accessors amalga oshirish vakil qiladi.
catch
muayyan istisno turiga ishlov beruvchi blokni boshlaydi.constructor
asosiy yoki ikkinchi darajali konstruktorni e'lon qiladi.delegate
izoh foydalanish-sayt maqsadi sifatida ishlatiladi.dynamic
Kotlin/JS kodidagi dinamik turga murojaat qiladi.field
izoh foydalanish-sayt maqsadi sifatida ishlatiladi.file
izoh foydalanish-sayt maqsadi sifatida ishlatiladi.finally
sinash bloki chiqqanda har doim bajariladigan blokni boshlaydi.import
joriy faylga boshqa paketdan deklaratsiyani import qiladi.init
ishga tushirish blokini boshlaydi.param
izoh foydalanish-sayt maqsadi sifatida ishlatiladi.property
izoh foydalanish-sayt maqsadi sifatida ishlatiladi.receiver
izoh foydalanish-sayt maqsadi sifatida ishlatiladi.setparam
izoh foydalanish-sayt maqsadi sifatida ishlatiladi.valueclass
kalit so'z bilan inline sinfini e'lon qiladi.where
umumiy 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:
abstract
sinf yoki a'zoni mavhum sifatida belgilaydi.actual
multiplatforma loyihalarida platformaga xos dasturni bildiradi.annotation
izoh sinfini e'lon qiladi.companion
hamroh ob'ektini e'lon qiladi.const
xususiyatni kompilyatsiya vaqti doimiysi sifatida belgilaydi.crossinline
Inline funksiyasiga o'tkazilgan lambdada mahalliy bo'lmagan qaytishni taqiqlaydi.data
kompilyatorga sinf uchun kanonik a'zolarni yaratishni buyuradi.enum
ro'yxatga olishni e'lon qiladi.expect
deklaratsiyani platformaga xos deb belgilaydi, platforma modullarida amalga oshirilishini kutadi.external
deklaratsiyani Kotlindan tashqarida amalga oshirilganligini belgilaydi.final
a'zoni bekor qilishni taqiqlaydi.infix
infix belgisi yordamida funksiyani chaqirishga imkon beradi.inline
kompilyatorga funktsiyani inline qilishni aytadi va qo'ng'iroq saytida unga o'tgan lambdalar .inner
ichki sinfdan tashqi sinf misoliga murojaat qilish imkonini beradi.internal
joriy modulda ko'rinadigan deklaratsiyani belgilaydi.lateinit
konstruktordan tashqari null bo'lmagan xususiyatni ishga tushirishga imkon beradi .noinline
inline funksiyasiga o'tkazilgan lambda qatorini o'chiradi.open
sinfni pastki sinfga o'tkazish yoki a'zoni bekor- qilishga imkon beradi .
operator
operatorni haddan tashqari yuklash yoki konventsiyani amalga oshirish vazifasini belgilaydi.out
tip parametrini kovariant sifatida belgilaydi.override
a'zoni supersinf a'zosining bekor qilinishi sifatida belgilaydi.private
joriy sinf yoki faylda ko'rinadigan deklaratsiyani belgilaydi.protected
joriy sinf va uning pastki sinflarida ko'rinadigan deklaratsiyani belgilaydi.public
har qanday joyda ko'rinadigan deklaratsiyani belgilaydi.reified
inline funksiyasining turi parametrini ish vaqtida foydalanish mumkin deb belgilaydi.sealed
muhrlangan sinfni e'lon qiladi (cheklangan subklassga ega sinf).suspend
funktsiyani yoki lambdani to'xtatuvchi sifatida belgilaydi.tailrec
funktsiyani tail-rekursiv sifatida belgilaydi. (kompilyatorga rekursiyani iteratsiya bilan almashtirishga imkon beradi).vararg
parametr 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:
field
mulkni qo'llab- quvvatlash maydoniga murojaat qilish uchun xususiyatga kirish vositasi ichida ishlatiladi.it
lambda ichida uning parametriga bevosita murojaat qilish uchun ishlatiladi.