English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基础教程

Golang 控制语句

Golang 函数 & 方法

Golang 结构体

Golang 切片 & 数组

Golang 字符串(String)

Golang 指针

Golang 接口

Concurrencia de Golang

Excepciones (Error) de Golang

Misceláneas de Golang

Función anónima en el lenguaje Go

El lenguaje Go proporciona una función especial llamada función anónima. Una función anónima es una función que no contiene ningún nombre. Esta función es muy útil cuando necesitas crear una función en línea. En el lenguaje Go, las funciones anónimas pueden formar un cierre. Las funciones anónimas también se conocen comoLínea de función.

Sintaxis:

    func(parameter_list) return_type {
        //Código
        //Si se proporciona return_type, se usa la instrucción return
        //Si no se proporciona return_type, no
        //Uso de la instrucción return
        devolver
    }()
paquete main 
  
import "fmt"
  
func main() { 
      
    //Una función anónima
   func() { 
  
      fmt.Println("Bienvenido! a oldtoolbag.com" 
  }() 
    
}

Salida:

Bienvenido! a oldtoolbag.com

Puntos importantes:

  • En el lenguaje Go, puedes asignar una función anónima a una variable. Al asignar una función a una variable, el tipo de la variable es el tipo de función, puedes llamar a la variable como si fuera una función, como se muestra en el siguiente ejemplo.

    paquete main 
      
    import "fmt"
      
    func main() { 
          
        // Asignar una función anónima a una variable
       value := func() { 
          fmt.Println("Bienvenido! a oldtoolbag.com" 
      } 
      value() 
        
    }

    Salida:

    Bienvenido! a oldtoolbag.com
  • También puedes pasar parámetros en una función anónima.

    paquete main 
      
    import "fmt"
      
    func main() { 
          
        //Pasar parámetros en una función anónima
      func(ele string) { 
          fmt.Println(ele) 
      }("w3codebox" 
        
    }

    Salida:

    w3codebox
  • También puedes pasar una función anónima como parámetro a otras funciones.

    paquete main 
      
    import "fmt"
      
      
      //Una función anónima como parámetro  
     func GFG(i func(p, q string) string) { 
         fmt.Println(i("Geeks", "for")) 
           
     } 
        
    func main() { 
        value := func(p, q string) string { 
            devolver p + q + "Geeks"
        } 
        GFG(value) 
    }

    Salida:

    w3codebox
  • También puedes devolver una función anónima desde otra función.

    paquete main 
      
    import "fmt"
      
     //devolver una función anónima
     func GFG() func(i, j string) string { 
         miF := func(i, j string) string { 
              devolver i + j + "w3codebox"
         } 
        devolver miF 
     } 
        
    func main() { 
        value := GFG() 
        fmt.Println(value("Bienvenido a", " ")) 
    }

    Salida:

    Bienvenido a w3codebox