Funksiya — dasturlashning ustunlaridan biri. Funksiyani tushunmasdan turib jiddiy loyiha yozib bo’lmaydi. Ular kodni takrorlashdan qutqaradi, uni bo’laklarga ajratadi va o’qishni osonlashtiradi. Kotlin’da funksiyalar fun kalit so’zi bilan e’lon qilinadi va juda moslashuvchan.
Funksiya — ma’lum bir vazifani bajaradigan, nom bilan atalgan va qayta-qayta chaqirsa bo’ladigan kod bloki. Kotlin’da u
funbilan e’lon qilinadi.
Funksiya yaratish va chaqirish
Kotlin’da funksiya fun nom() { ... } shaklida e’lon qilinadi:
fun salomlash() {
println("Assalomu alaykum, UzbekDevs!")
}
fun main() {
salomlash()
salomlash()
}
Assalomu alaykum, UzbekDevs!
Assalomu alaykum, UzbekDevs!
fun salomlash() funksiyani e’lon qildi, salomlash() esa uni chaqirdi. Bir marta yozilgan kodni ikki marta ishlatdik.
Parametr va natija
Funksiya parametr qabul qilib, natija qaytaradi. Qaytish turi funksiya nomidan keyin, ikki nuqta bilan yoziladi:
fun yigindi(a: Int, b: Int): Int {
return a + b
}
fun main() {
println(yigindi(15, 27))
println(yigindi(100, 200))
}
42
300
fun yigindi(a: Int, b: Int): Int — ikki Int qabul qilib, Int qaytaradi. Parametr turi nomdan keyin (a: Int), qaytish turi esa qavsdan keyin (: Int) yoziladi.
Bir ifodali funksiya
Agar funksiya bitta ifodadan iborat bo’lsa, uni = bilan qisqartirish mumkin — jingalak qavs va returnsiz:
fun yigindi(a: Int, b: Int): Int = a + b
fun kopaytma(a: Int, b: Int) = a * b // tur ham avtomatik
fun main() {
println(yigindi(5, 3))
println(kopaytma(6, 7))
}
8
42
fun yigindi(...) = a + b — bir ifodali funksiyaning qisqa shakli. Bu Kotlin’ning ixcham va nafis xususiyati.
Standart parametr
Kotlin parametrga standart qiymat berishga imkon beradi:
fun salomlash(ism: String = "mehmon") {
println("Salom, $ism!")
}
fun main() {
salomlash()
salomlash("Farrux")
}
Salom, mehmon!
Salom, Farrux!
Birinchi chaqiruvda argument berilmagani uchun standart "mehmon" ishlatildi.
Xulosa
Bu bo’limda funksiya e’lon qilish (fun), parametr va qaytish turi, bir ifodali funksiya (=) va standart parametrlarni ko’rib chiqdik. Kotlin funksiyalari ixcham va moslashuvchan. Keyingi darsda funksiya parametrlariga chuqurroq kirib boramiz.