Thursday, August 28, 2025
HomeLanguagesGolangAnonymous function in Go Language

Anonymous function in Go Language

Go language provides a special feature known as an anonymous function. An anonymous function is a function which doesn’t contain any name. It is useful when you want to create an inline function. In Go language, an anonymous function can form a closure. An anonymous function is also known as function literal.

Syntax:

func(parameter_list)(return_type){
// code..

// Use return statement if return_type are given
// if return_type is not given, then do not 
// use return statement
return
}()

Example:




// Go program to illustrate how
// to create an anonymous function
package main
  
import "fmt"
  
func main() {
      
    // Anonymous function
   func(){
  
      fmt.Println("Welcome! to GeeksforGeeks")
  }()
    
}


Output:

Welcome! to GeeksforGeeks

Important Points:

  • In Go language, you are allowed to assign an anonymous function to a variable. When you assign a function to a variable, then the type of the variable is of function type and you can call that variable like a function call as shown in the below example.

    Example:




    // Go program to illustrate
    // use of an anonymous function
    package main
      
    import "fmt"
      
    func main() {
          
        // Assigning an anonymous 
       // function to a variable
       value := func(){
          fmt.Println("Welcome! to GeeksforGeeks")
      }
      value()
        
    }

    
    

    Output:

    Welcome! to GeeksforGeeks
  • You can also pass arguments in the anonymous function.

    Example:




    // Go program to pass arguments 
    // in the anonymous function
    package main
      
    import "fmt"
      
    func main() {
          
        // Passing arguments in anonymous function
      func(ele string){
          fmt.Println(ele)
      }("GeeksforGeeks")
        
    }

    
    

    Output:

    GeeksforGeeks
  • You can also pass an anonymous function as an argument into other function.

    Example:




    // Go program to pass an anonymous 
    // function as an argument into 
    // other function
    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)
    }

    
    

    Output:

    GeeksforGeeks
  • You can also return an anonymous function from another function.

    Example:




    // Go program to illustrate
    // use of anonymous function
    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 "))
    }

    
    

    Output:

    Welcome to GeeksforGeeks
RELATED ARTICLES

Most Popular

Dominic
32244 POSTS0 COMMENTS
Milvus
80 POSTS0 COMMENTS
Nango Kala
6613 POSTS0 COMMENTS
Nicole Veronica
11786 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11831 POSTS0 COMMENTS
Shaida Kate Naidoo
6726 POSTS0 COMMENTS
Ted Musemwa
7008 POSTS0 COMMENTS
Thapelo Manthata
6683 POSTS0 COMMENTS
Umr Jansen
6695 POSTS0 COMMENTS