Anonymous function in Go Language
Last Updated :
29 Oct, 2024
An anonymous function is a function that doesn’t have a name. It is useful when you want to create an inline function. In Go, an anonymous function can also form a closure. An anonymous function is also known as a function literal.
Example
Go
package main
import "fmt"
func main() {
// Anonymous function
func() {
fmt.Println("Welcome! to GeeksforGeeks")
}()
}
OutputWelcome! to GeeksforGeeks
Syntax:
func(parameter_list)(return_type) {
// code..
// Use return statement if return_type is given
// if return_type is not given, then do not
// use return statement
return
}()
Assigning to a Variable
You can assign an anonymous function to a variable. This variable can then be called like a regular function.
Go
package main
import "fmt"
func main() {
// Assigning an anonymous function to a variable
value := func() {
fmt.Println("Welcome! to GeeksforGeeks")
}
value()
}
OutputWelcome! to GeeksforGeeks
Passing Arguments
Anonymous functions can accept arguments.
Go
package main
import "fmt"
func main() {
// Passing arguments in anonymous function
func(ele string) {
fmt.Println(ele)
}("GeeksforGeeks")
}
Passing as Arguments
You can also pass an anonymous function as an argument to another function.
Go
package main
import "fmt"
// Passing anonymous function as an argument
func GFG(i func(p, q string) string) {
fmt.Println(i("Geeks", "for"))
}
func main() {
value := func(p, q string) string {
return p + q + "Geeks"
}
GFG(value)
}
Returning Anonymous Functions
You can return an anonymous function from another function.
Go
package main
import "fmt"
// Returning anonymous function
func GFG() func(i, j string) string {
myf := func(i, j string) string {
return i + j + "GeeksforGeeks"
}
return myf
}
func main() {
value := GFG()
fmt.Println(value("Welcome ", "to "))
}
OutputWelcome to GeeksforGeeks
Conclusion
Anonymous functions in Go are versatile and powerful. They can be used for creating inline functions, closures, and even for passing and returning functions. Understanding how to use them effectively can greatly enhance your programming in Go.
Explore
Go Tutorial
3 min read
Overview
Fundamentals
Control Statements
Functions & Methods
Structure
Arrays
Slices
Strings
Pointers