tgoop.com/brogrammist/86
Last Update:
IIFE (Immediately Invoked Function Expression)
Yaqinda Go dasturlash tilida IIFE sintaksis juda soddaligini ko'rib JavaScriptda ham shunday bo'lganda edi deb qoldim. Chunki Go'da funksiyani ortiqcha qavs ichiga olish shart emas ekan:
func(num int) int {
fmt.Println(num * num)
}(5)
JavaScript'da esa xuddi shu ifoda bunday bo'lardi:
(function(num) {
console.log(num * num)
})(5)
Shuni qavslarsiz qilsa bo'ladimi?
Ha! Faqat oldiga void
qo'yish kerak bo'ladi:
void function(num) {
console.log(num * num)
}(5)
Agar asinxron funksiya bo'lsa, void
yoki await
qo'yish mumkin:
await async function(num) {
console.log(num * num)
}(5)
Lekin void
ishlatganimizda funksiya qiymati undefined
bo'lib qoladi. Shuning uchun uni faqat "side-effect" uchun ishlatish mumkin.
Shunaqa gaplar.
BY Brogrammist
Share with your friend now:
tgoop.com/brogrammist/86