Kotlin funksiyalari


Funksiya — faqat chaqirilganda ishga tushadigan kod bloki.

Funksiyaga parametrlar deb ataladigan ma’lumotlarni uzatishingiz mumkin.

Funksiyalar muayyan amallarni bajarish uchun ishlatiladi va ular metodlar deb ham ataladi.


ULASHISH

Oldindan aniqlangan funksiyalar

Ma’lum bo‘lishicha, siz funksiya nima ekanini allaqachon bilasiz. Siz bu darslik davomida undan doimo foydalanib keldingiz!

Masalan, println() — funksiya. U ekranga matn chiqarish (chop etish) uchun ishlatiladi:

Misol

fun main() {
  println("Hello World")
}
O‘zingiz sinab ko‘ring »

O‘z funksiyalaringizni yaratish

O‘z funksiyangizni yaratish uchun fun kalit so‘zidan foydalaning va funksiya nomini, undan keyin esa () qavslarini yozing:

Misol

"myFunction" nomli, biror matnni chiqaradigan funksiya yarating:

fun myFunction() {
  println("I just got executed!")
} 

Funksiyani chaqirish

Funksiyani yaratganingizdan so‘ng uni chaqirish orqali bajarishingiz mumkin.

Kotlin tilida funksiyani chaqirish uchun funksiya nomini va undan keyin ikkita qavs () yozing.

Quyidagi misolda myFunction() chaqirilganda biror matnni chiqaradi (amal):

Misol

fun main() {
  myFunction() // Call myFunction
}

// Outputs "I just got executed!" 
O‘zingiz sinab ko‘ring »

Xohlasangiz, funksiyani bir necha marta chaqirish mumkin:

Misol

fun main() {
  myFunction()
  myFunction()
  myFunction()
}

// I just got executed!
// I just got executed!
// I just got executed! 
O‘zingiz sinab ko‘ring »


Funksiya parametrlari

Funksiyalarga ma’lumotlarni parametr sifatida uzatish mumkin.

Parametrlar funksiya nomidan keyin qavslar ichida ko‘rsatiladi. Istaganingizcha parametr qo‘shishingiz mumkin, faqat ularni vergul bilan ajrating. Shuni yodda tutingki, har bir parametrning tipini (Int, String va h.k.) ko‘rsatishingiz shart.

Quyidagi misoldagi funksiya parametr sifatida fname nomli String ni qabul qiladi. Funksiya chaqirilganda biz unga ism uzatamiz va u funksiya ichida to‘liq ismni chiqarish uchun ishlatiladi:

Misol

fun myFunction(fname: String) {
  println(fname + " Doe")
}

fun main() {
  myFunction("John")
  myFunction("Jane")
  myFunction("George")
}
  
// John Doe
// Jane Doe
// George Doe 
O‘zingiz sinab ko‘ring »

Parametr funksiyaga uzatilganda u argument deb ataladi. Demak, yuqoridagi misolda fname — parametr, John, Jane va George esa argumentlar.


Bir nechta parametr

Istaganingizcha parametrga ega bo‘lishingiz mumkin:

Misol

fun myFunction(fname: String, age: Int) {
  println(fname + " is " + age)
}

fun main() {
  myFunction("John", 35)
  myFunction("Jane", 32)
  myFunction("George", 15)
}

// John is 35
// Jane is 32
// George is 15 
O‘zingiz sinab ko‘ring »

Eslatma: Bir nechta parametr bilan ishlaganda funksiya chaqiruvidagi argumentlar soni parametrlar soniga teng bo‘lishi va argumentlar xuddi shu tartibda uzatilishi kerak.


Qaytariladigan qiymatlar

Yuqoridagi misollarda funksiyalardan qiymat chiqarish uchun foydalandik. Quyidagi misolda funksiyadan qiymat qaytarish va uni o‘zgaruvchiga berish uchun foydalanamiz.

Qiymat qaytarish uchun return kalit so‘zidan foydalaning va funksiya qavslaridan keyin qaytarish tipini ko‘rsating (ushbu misolda Int):

Misol

Bitta Int parametrli va Int qaytarish tipiga ega funksiya:

fun myFunction(x: Int): Int {
  return (x + 5)
}

fun main() {
  var result = myFunction(3)
  println(result)
}

// 8 (3 + 5) 
O‘zingiz sinab ko‘ring »

Ikki parametrdan foydalanish:

Misol

Ikkita Int parametrli va Int qaytarish tipiga ega funksiya:

fun myFunction(x: Int, y: Int): Int {
  return (x + y)
}

fun main() {
  var result = myFunction(3, 5)
  println(result)
}

// 8 (3 + 5) 
O‘zingiz sinab ko‘ring »

Qiymat qaytarishning qisqaroq sintaksisi

Qiymat qaytarishning qisqaroq sintaksisi ham mavjud. Qaytarish tipini ko‘rsatmasdan return o‘rniga = operatoridan foydalanishingiz mumkin. Kotlin uning qanday tip ekanini avtomatik aniqlaydigan darajada aqlli:

Misol

fun myFunction(x: Int, y: Int) = x + y

fun main() {
  var result = myFunction(3, 5)
  println(result)
}

// 8 (3 + 5) 
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!