- Published on
Swiftda parametrli va qiymat qaytaradigan funksiya
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Funksiya parametri β bu funksiyaga qabul qilinadigan qiymat.
Funksiya parametrlari va qaytariladigan qiymatlar haqida o'rganishdan oldin, Swift funksiyalari haqida bilib oling.
Keling misolni ko'ramiz,
Yuqoridagi misolda addNumbers() funksiyasi ikki parametr qabul qiladi: a va b. E'tibor bering:
addNumbers(a: 2, b: 3)
Bu yerda a: 2, b: 3 β mos ravishda a va b parametrlari 2 va 3 qiymatlarni olishini bildiradi.
Funksiya chaqiruvi davomida beriladigan qiymatlar argumentlar deb ataladi.
Funksiya parametrlari uchun standart qiymatlar
Swiftda parametrlar uchun standart qiymat berish mumkin.
Buning uchun = operatori ishlatiladi. Misol:
Bu yerda parametrlarning standart qiymatlari mos ravishda 7 va 8 qilib berilgan.
Nomlangan argument (Argument Label)
Swiftda funksiyani yanada ifodali qilish uchun argument yorliqlaridan foydalaniladi.
Misol:
Bu ko'rinish quyidagiga qaraganda ancha ma'noli:
sum(a: 2, b: 3)
Argument yorliqlarini olib tashlash
Agar parametrdan oldin _ qo'ysak, argument yorliqlari ishlatilmaydi.
Variadic parametrlar (ko'p miqdordagi argumentlar)
Ba'zan argumentlar soni oldindan noma'lum bo'ladi. Bunday holatda variadic parametrlar ishlatiladi.
... belgisi parametrning variadic ekanini bildiradi.
numbers variadic bo'lgani uchun u funksiya ichida massiv sifatida ishlaydi.
inout parametrlar
Oddiy parametrlar funksiyada o'zgartirilmaydi β ular konstantadir.
Masalan, ushbu kod xato beradi:
func changeName(name: String) {
if name == "" {
// Xato yuz beradi
// name = "Ross"
}
}
Parametrni o'zgaruvchan qilish uchun inout ishlatiladi:
inout parametrga argument berishda & belgisi ishlatiladi.
Funksiyada qaytariladigan qiymat (Return Value)
Funksiya qaytariladigan qiymatga ega bo'lishi mumkin. Buning uchun return operatori ishlatiladi.
Funksiyadan bir necha qiymat qaytarish
Funksiya bir nechta qiymat qaytarishi ham mumkin β tuple yordamida.
func checkMarks() -> (String, Int) {
// ...
return (message, marks)
}
Bu yerda qaytarilayotgan qiymatlar tartibi qo'sh tirnoq ichidagi tuple tartibi bilan mos bo'lishi kerak.
Misol:
Bu yerda result bir nechta qiymatlarni saqlovchi tuple bo'lib, ular indeks orqali olinadi.
Birinchi masalaning yechimi
Keling, birinchi masala "Standart qiymatli funksiya" ni birga yechib ko'ramiz:
1-qadam: Masalani tushunish
name = "Ali"β "Salom, Ali!"- argumentsiz β "Salom, Mehmon!"
2-qadam: Yechim algoritmi
- Standart qiymatli parametr qabul qilamiz
- String interpolation bilan salomlashuv yaratamiz
- Natijani qaytaramiz
3-qadam: Kodni yozamiz
Natija: Funksiya ism berilsa shu ism bilan, berilmasa "Mehmon" bilan salomlashadi.