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.
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
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.
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.