61 / 103

Function closures

Funksiya closure'lari

Go funksiyalari closure (yopilma) bo'lishi mumkin. Closure — o'z tanasidan tashqaridagi o'zgaruvchilarga murojaat qiluvchi funksiya qiymati. Funksiya bu o'zgaruvchilarga murojaat qilishi va ularga qiymat berishi mumkin; shu ma'noda funksiya o'zgaruvchilarga "bog'langan".

Masalan, adder funksiyasi closure qaytaradi. Har bir closure o'zining sum o'zgaruvchisiga bog'langan.

Topshiriqlar

Yechimni kodning pastki qismidagi Topshiriqlar bo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.

1-topshiriq

hisoblagich() func() int funksiyasini yozing: har chaqirilganda 1, 2, 3, ... qaytaradigan closure qaytarsin. Ikkita alohida hisoblagich bir-biriga xalaqit bermasligi kerak.

2-topshiriq

kopaytirgich(k int) func(int) int funksiyasini yozing: o'ziga berilgan sonni k ga ko'paytiradigan closure qaytarsin. Masalan, kopaytirgich(3)(5) — 15.