Kotlin Funksiya parametrlari

Ko'pgina dasturlash tillarida biz ushbu funktsiyani chaqirayotganda funksiya qabul qiladigan barcha argumentlarni ko'rsatishimiz kerak, lekin Kotlinda biz ushbu funktsiyani chaqirishda funksiya qabul qiladigan barcha argumentlarni ko'rsatishimiz shart emas, shuning uchun u eng muhim xususiyatlardan biridir. Biz ushbu cheklovdan xalos bo'lishimiz va parametrni ixtiyoriy qilishimiz mumkin, ya'ni funktsiyani chaqirishda argumentni o'tkazish yoki bermaslik. Kotlinda funksiya parametrlari vergul yordamida ajratiladi va Paskal yozuvi, ya'ni name:data_type yordamida aniqlanadi. 

fun fun_name(name1: data_type, name2: data_type )

Kotlinda ikki turdagi argumentlar mavjud:

  • Standart argumentlar
  • Nomlangan argumentlar

Kotlin standart argumentlari

Funktsiyani chaqirishda aniq ko'rsatilishi shart bo'lmagan argumentlar standart argumentlar deb ataladi. Agar funktsiya argumentlarsiz chaqirilsa, standart argumentlar funktsiya parametrlari sifatida ishlatiladi. Boshqa hollarda, agar funktsiya chaqiruvi paytida argumentlar uzatilsa, o'tkazilgan argumentlar funksiya parametrlari sifatida ishlatiladi.

Standart argumentlar uchun uchta holat mavjud:

  1. Funktsiyani chaqirishda hech qanday argument berilmaydi.
  2. Qisman argumentlar funksiya chaqirilayotganda uzatiladi.
  3. Funktsiyani chaqirishda barcha argumentlar uzatiladi.

Funktsiyani chaqirishda hech qanday argument berilmaydi

Funktsiyani chaqirishda hech qanday argument o'tkazilmasa, standart argumentlar funktsiya parametrlari sifatida ishlatiladi. Funktsiyani aniqlashda o'zgaruvchilarni ishga tushirishimiz kerak. 

Argumentlarsiz student() funksiyasini chaqirish uchun Kotlin dasturi

fun student(name: String="Sherzod", standard: String="IX" , roll_no: Int=11) {       
    println("Talabaning ismi: $name")
    println("Talaba standarti: $standard")
    println("Talabalar soni: $roll_no")
}
fun main(args: Array<String>) {
    val name_of_student = "Sherzod"
    val standard_of_student = "VIII"
    val roll_no_of_student = 25
    student()
}
Talabaning ismi: Sherzod Talaba standarti: IX Talabalar soni: 11

Izoh: 

Yuqoridagi dasturda biz uchta argument nomi, standart va roll_no qabul qiluvchi talaba funksiyasidan foydalandik. E'tibor bering, biz barcha talaba argumentlarini ba'zi qiymatlar bilan ishga tushirdik. Funktsiyani chaqirayotganda student() da hech narsa o'tkazilmasa, bu standart qiymatlar ekanligini ta'minlash uchun ishlatiladi. Shunday qilib, yuqoridagi dasturda hech qanday argument berilmaydi, shuning uchun u standart argumentlarni funktsiya parametrlari sifatida ishlatadi va standart qiymatlarni standart chiqishga chop etadi.

Funktsiyani chaqirishda qisman argumentlar uzatiladi

Bu yerda ba'zi argumentlar funktsiyani chaqirishda uzatiladi va ular funktsiya parametrlari sifatida ishlatiladi. Agar biron bir rasmiy parametr funktsiya chaqiruvidan qiymat olmasa, u holda standart qiymat ushbu parametr uchun ishlatiladi. Ba'zi argumentlarni o'tkazish bilan student() funktsiyasini chaqirish uchun Kotlin dasturi

fun student( name: String="Sherzod", standard: String="IX" , roll_no: Int=11 ) {
    println("Talabaning ismi: $name")
    println("Talabaning standarti: $standard")
    println("Talabalar soni: $roll_no")
}
fun main(args: Array<String>) {
    val name_of_student = "Sherzod"
    val standard_of_student = "VIII"
    val roll_no_of_student = 25
    student(name_of_student,standard_of_student)
}
Talabaning ismi: Sherzod Talaba standarti: VIII Talabalar soni: 11

Izoh: 

Yuqoridagi dasturda biz uchta argument nomi, standart va roll_no qabul qiluvchi talaba funksiyasidan foydalandik. E'tibor bering, biz barcha talaba argumentlarini ba'zi qiymatlar bilan ishga tushirdik. Bu yerda biz faqat talabaning ismi va standarti uchun qiymatlarni o'tkazdik. Shunday qilib, roll_no uchun u standart qiymatdan (11) foydalanadi va yuqorida ko'rsatilgandek barcha qiymatlarni standart chiqishga chop etadi. 

Funktsiyani chaqirishda barcha argumentlar uzatiladi

Bu erda biz barcha argumentlarni funktsiya ta'rifida belgilanganidek o'tkazishimiz kerak, ammo haqiqiy argumentlarning ma'lumotlar turi bir xil tartibda rasmiy argumentlarning ma'lumotlar turiga mos kelishi kerak. Barcha argumentlarni o'tkazish bilan student() funksiyasini chaqirish uchun Kotlin dasturi

fun student( name: String="Sherzod", standard: String="IX" , roll_no: Int=11 ) {
    println("Talabaning ismi: $name")
    println("Talabaning standarti: $standard")
    println("Talabalar soni: $roll_no")
}
fun main(args: Array<String>) {
    val name_of_student = "Sherzod"
    val standard_of_student = "VIII"
    val roll_no_of_student = 25
    student(name_of_student,standard_of_student,roll_no_of_student)
}
Talabaning ismi: Sherzod Talaba standarti: VIII Talabalar soni: 25

Izoh: 

Yuqoridagi dasturda student() ga qo'ng'iroq qilishda biz barcha argumentlarni topshirdik va u funksiya parametrlari uchun standart qiymatlarni qayta yozadi. Demak, u funktsiya chaqiruvi vaqtida faqat rasmiy argumentlarga o'tgan qiymatlarni chop etadi.

Kotlin nomidagi argumentlar

Standart argumentlar bilan ishlashda biz muammoga duch kelamiz. Agar biz argumentlarni aralashtirib yuborsak, u kompilyatsiya xatosini beradi, shuning uchun biz haqiqiy argumentlarni funktsiya deklaratsiyasida belgilangan tartibda rasmiy argumentlarga o'tkazishimiz kerak. Argumentlarni tasodifiy tartibda yuborish orqali student() ni chaqirish uchun Kotlin dasturi 

fun student( name: String="Sherzod", standard: String="IX" , roll_no: Int=11 ) {
    println("Talabaning ismi: $name")
    println("Talabaning standarti: $standard")
    println("Talabalar soni: $roll_no")
}
fun main(args: Array<String>) {
    val name_of_student = "Anvar"
    val standard_of_student = "VIII"
    val roll_no_of_student = 25
    student(name_of_student,roll_no_of_student)
}

Natija:

XOpenJDK 64-bitli Server VM ogohlantirishi: -Xverify:none va -noverify opsiyalari JDK 13 da eskirgan va kelgusi versiyada olib tashlanishi mumkin.
Main.kt:10:29: xato: turdagi nomuvofiqligi: xulosa turi Int, lekin String kutilgan edi

talaba(talabaning_ismi,talabalar_nomi)Funktsiyani chaqirishda nom yordamida uzatiladigan argumentlar nomli argumentlar deb ataladi. Funktsiyani chaqirishda biz haqiqiy argument qiymatini o'tkazadigan rasmiy argument nomidan foydalanishimiz kerak. Argumentlar nomi bilan student() ni chaqirish uchun Kotlin dasturi

fun student( name: String="Sherzod", standard: String="IX" , roll_no: Int=11 ) {
    println("Talabaning ismi: $name")
    println("Talaba standarti: $standard")
    println("Talabalar soni: $roll_no")
}
fun main(args: Array<String>) {
    val name_of_student = "Anvar"
    val standard_of_student = "VIII"
    val roll_no_of_student = 25
    student(name=name_of_student,roll_no=roll_no_of_student)
}
Talabaning ismi: Anvar Talaba standarti: IX Talabalar soni: 25

Izoh: 

Bu yerda biz nomdan foydalangan holda haqiqiy dalillarni rasmiy dalillarga o'tkazdik. Faqat nom va roll_no uchun biz qiymatlarni o'tkazdik, shuning uchun u "talaba standarti" standart qiymatini chop etadi.