Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Class 21 – expression, anonymous function ও IIFE - in go

🎥 ভিডিও নাম: anonymous function, expression ও IIFE

🔤 Code Written in This Class

// anonymous function
// IIFE - ইমিডিয়েটলি ইনভোকড function expression

package main

import "fmt"

func main() {
    // anonymous function
    func(a int, b int) {
        c := a + b
        fmt.Println(c)
    }(5, 7) // IIFE
}

func init() {
    fmt.Println("আমি সবার আগে কল হব")
}

🧠 মূল ধারণাসমূহ

Go-তে Expression (expression)

expression হলো যেকোনো code snippet যা কোনো মান (value) রিটার্ন করে।

example:

a + b          // একটি expression
func(x, y){}   // একটি function expression

expression মান হিসেবে ব্যবহার, pass অথবা সাথে সাথেই execute করা যায়।

anonymous function

anonymous function হলো নামবিহীন function।

func(a, b int) int {
    return a + b
}

✅ এটি ভ্যারিয়েবল হিসেবে সংরক্ষণ, আর্গুমেন্ট হিসেবে pass বা সাথে সাথেই কল করা যায়।

⚡ IIFE (Immediately Invoked Function Expression)

IIFE হলো এমন একটি anonymous function যেটি ডিক্লেয়ার করার সাথেসাথে execute হয়।

func(a int, b int) {
    // কাজ
}(5, 7)

ব্যবহার: ছোট লজিক ব্লক তাৎক্ষণিক চালানোর জন্য উপযোগী, নতুন নাম না দিয়েই।

🖥️ CLI- execution vizualization

=========== compilation ধাপ =============
init() function খুঁজে পাওয়া গেছে ✅
main() function খুঁজে পাওয়া গেছে ✅

=========== এক্সিকিউশন ধাপ =============

🔁 init() প্রথমে চলে
→ আউটপুট: আমি সবার আগে কল হব

🧠 ডেটা সেগমেন্ট:
(কোনো গ্লোবাল ভ্যারিয়েবল নেই)

📚 stack frame:
┌─────────────────────┐
│    main()           │
│ ┌─────────────────┐ │
│ │  anonymous function │ │
│ └─────────────────┘ │
└─────────────────────┘

main() একটি IIFE কল করে:
→ 5 এবং 7 pass করে
→ ভিতরে: c := 5 + 7 = 12
→ output: 12

=========== execution সম্পূর্ণ ============

🧵 TL;DR (সংক্ষেপে)

  • [] expression- মান রিটার্ন করে, এসাইন বা execute করা যায়।
  • [] anonymous function- দ্রুত লজিক ব্লক চালাতে ব্যবহৃত হয়।
  • [] IIFE- ডিফাইন এবং execute একসাথে — একবারের কাজের জন্য দারুন!

[Author: @ifrunruhin12 @shahriar-em0n Date: 2025-05-01 Category: interview-qa/class-wise ]