Función anónima en Go Language

Go language proporciona una función especial conocida como función anónima. Una función anónima es una función que no contiene ningún nombre. Es útil cuando desea crear una función en línea. En el lenguaje Go, una función anónima puede formar un cierre. Una función anónima también se conoce como función literal .

Sintaxis:

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
}()

Ejemplo:

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

Producción:

Welcome! to GeeksforGeeks

Puntos importantes:

  • En el lenguaje Go, puede asignar una función anónima a una variable. Cuando asigna una función a una variable, entonces el tipo de variable es de tipo función y puede llamar a esa variable como una llamada de función como se muestra en el siguiente ejemplo.

    Ejemplo:

    // 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()
        
    }

    Producción:

    Welcome! to GeeksforGeeks
  • También puede pasar argumentos en la función anónima.

    Ejemplo:

    // 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")
        
    }

    Producción:

    GeeksforGeeks
  • También puede pasar una función anónima como argumento a otra función.

    Ejemplo:

    // 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)
    }

    Producción:

    GeeksforGeeks
  • También puede devolver una función anónima desde otra función.

    Ejemplo:

    // 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 "))
    }

    Producción:

    Welcome to GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *