34 / 103

Defer

defer operatori funksiya bajarilishini o'rab turgan funksiya qaytguncha kechiktiradi.

Kechiktirilgan chaqiruvning argumentlari darhol hisoblanadi, lekin funksiya chaqiruvining o'zi o'rab turgan funksiya qaytmaguncha bajarilmaydi.

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

Kodda jurnal matni va unga yozuv qo'shuvchi yoz(s string) funksiyasi tayyor. tartib() funksiyasini yozing: u ketma-ket yoz("1") ni chaqirsin, so'ng defer yoz("3") bilan "3" yozishni kechiktirsin, undan keyin yoz("2") ni chaqirsin. tartib() tugagach, jurnal "123" bo'lishi kerak.

2-topshiriq

argument(n int) funksiyasini yozing: defer yoz(fmt.Sprint(n)) bilan n ni yozishni kechiktirsin, keyin n ni 100 ga oshirib (n += 100), yoz(fmt.Sprint(n)) ni chaqirsin. Kechiktirilgan chaqiruvning argumenti darhol hisoblanadi, shuning uchun argument(1) dan keyin jurnal "1011" bo'ladi.