Anonymous Functions

Anonymous functions are functions that are defined without a name. They are useful when you need a function for a single task and don’t want to clutter the package namespace.

Syntax and Usage

You define an anonymous function inline, often passing it directly to a higher-order function.

func main() {
    // Passing an anonymous function to a 'conversions' helper
    newX, newY := conversions(func(a int) int {
        return a * 2
    }, 10, 20)
}

Immediate Invocation

You can also call an anonymous function immediately after defining it:

func main() {
    func(msg string) {
        fmt.Println(msg)
    }("Hello immediately!")
}