Published on

Swiftda funksiyalar

Authors

Funksiya β€” bu muayyan vazifani bajaradigan kod blokidir.

Masalan, biz doira chizadigan va uni ranglaydigan dastur yaratmoqchimiz. Bunda ikkita funksiya yaratishimiz mumkin:

  • doira chizish funksiyasi
  • doirani ranglash funksiyasi

Demak, funksiyalar yordamida dasturimizni kichik bo'laklarga ajratamiz, bu esa kodni qayta ishlatish va tushunishni osonlashtiradi.

Swiftda funksiyalar ikki xil bo'ladi:

  • Foydalanuvchi tomonidan yaratiladigan funksiyalar β€” o'zimiz yaratadigan funksiyalar.
  • Standart kutubxona funksiyalari β€” Swift ichida oldindan mavjud funksiyalar.

Keling, avval o'zimiz yaratadigan funksiyalarni ko'rib chiqamiz.

Funksiyani e'lon qilish

Funksiya e'loni quyidagicha:

func functionName(parameters) -> returnType {
  // funksiya tanasi
}

Bu yerda:

  • func β€” funksiya yaratish uchun kalit so'z
  • functionName β€” funksiyaning nomi
  • parameters β€” funksiyaga uzatiladigan qiymatlar
  • returnType β€” funksiyaning qaytaradigan qiymat turi

Misol:

Swift
Funksiya yaratish va chaqirish
func greet() { print("Hello World!") } // funksiyani chaqirish greet()

Bu yerda greet() nomli funksiya yaratildi. U faqat Hello World! matnini chiqaradi.

Bu funksiyaning parametrlari ham, qaytarish turi ham yo'q. Bu haqida keyinroq gaplashamiz.

Funksiyani chaqirish

Yuqoridagi misolda biz greet() funksiyasini yaratdik. Endi uni ishlatish uchun chaqiramiz.

Misol:

Swift
Funksiyani chaqirish
// funksiya e'loni func greet() { print("Hello World!") } // funksiya chaqirildi greet() print("Outside function")
func

Dastur qanday ishlaydi:

  1. Funksiya chaqirilganda, boshqaruv funksiyaga o'tadi.
  2. Funksiya ichidagi barcha kodlar bajariladi.
  3. Funksiya tugagach, boshqaruv keyingi qatorga qaytadi.

Funksiya parametrlari

Funksiya parametrlar qabul qilishi mumkin. Parametr β€” funksiyaga uzatiladigan qiymat.

Misol:

Swift
Parametrli funksiya
// ikki sonni qo'shadigan funksiya func addNumbers(num1: Int, num2: Int) { let sum = num1 + num2 print("Sum:", sum) } // ikki qiymat bilan chaqirish addNumbers(num1: 3, num2: 4)

Bu yerda num1: 3 va num2: 4 tegishli parametrlarni qiymatlar bilan to'ldiradi.

func

Parametrlarning ma'lumot turi chaqirishdagi qiymat turi bilan bir xil bo'lishi kerak.

Funksiya qiymat qaytarish turi (Return Type)

Funksiya qiymat qaytarishi yoki qaytarmasligi mumkin.

Agar funksiyadan qiymat qaytarishni istasak, return operatoridan foydalanamiz:

func addNumbers() -> Int {
  // ...
  return sum
}

Bu yerda funksiya sum qiymatini qaytaryapti. -> Int esa funksiyaning qaytarish turi Int ekanini bildiradi.

Misol:

Swift
Return type
// funksiya e'loni func findSquare(num: Int) -> Int { let result = num * num return result } // funksiya chaqirish let square = findSquare(num: 3) print("Square:", square)
Bu yerda funksiya berilgan sonning kvadratini qaytarmoqda. func

Misol:

Swift
Qiymat qaytaruvchi funksiya
// ikki sonni qo'shadigan funksiya func addNumbers(num1: Int, num2: Int) -> Int { let sum = num1 + num2 return sum } // qiymat berib chaqirish let result = addNumbers(num1: 3, num2: 4) print("Sum:", result)

Swiftda kutubxona funksiyalari

Swiftda oldindan yaratilgan funksiyalar mavjud, masalan:

  • print() β€” matn chiqaradi
  • sqrt() β€” ildiz hisoblaydi
  • pow() β€” darajaga oshiradi

Bu funksiyalar mos kutubxonalar ichida bo'ladi.

Masalan, sqrt() va pow() β€” Foundation kutubxonasi ichida.

Misol:

Swift
sqrt() va pow() funksiyalari
// sqrt() β€” ildiz hisoblash var squareRoot = sqrt(25) print("Square Root of 25 is", squareRoot) // pow() β€” daraja hisoblash var power = pow(2, 3) print("2 to the power 3 is", power)

Funksiya ishlatishning afzalliklari

1. Kodni qayta ishlatish

Funksiyani bir necha bor chaqirish mumkin:

Swift
Funksiyani qayta ishlatish
// funksiya e'loni func getSquare(num: Int) -> Int { return num * num } for i in 1...3 { let result = getSquare(num: i) print("Square of \(i) =", result) }

Bu yerda bir xil funksiya bir necha marta ishlatilgan.

2. Kodni tushunarli qilish

Funksiyalar kodni bo'laklarga ajratadi, bu esa dastur o'qilishini yengillashtiradi.


Birinchi masalaning yechimi

Keling, birinchi masala "Ikki sonni qo'shish" ni birga yechib ko'ramiz:

1-qadam: Masalani tushunish

  • a = 5, b = 3 β†’ 8
  • a = -2, b = 7 β†’ 5

2-qadam: Yechim algoritmi

  1. Ikki parametr qabul qilamiz: a va b
  2. Ularni qo'shamiz
  3. Natijani qaytaramiz

3-qadam: Kodni yozamiz

Swift
Ikki sonni qo'shish yechimi
func add(a: Int, b: Int) -> Int { return a + b } // Test print(add(a: 5, b: 3)) // 8 print(add(a: -2, b: 7)) // 5 print(add(a: 0, b: 0)) // 0

Natija: Funksiya ikki sonni qo'shib, natijani qaytaradi.

Buy mea coffee