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

Tutorial Básico de Golang

Golang Comandos de Controle

Golang Função & Método

Golang Estrutura de Dados

Golang Slice & Array

Golang String (String)

Golang Ponteiro

Golang Interface

Golang Concorrência

Golang Exceções(Error)

Outros itens Golang

Função anônima Go

O Go oferece uma função especial chamada função anônima. A função anônima não possui nenhum nome. É útil criar funções inline. Nas funções Go, as funções anônimas podem formar closures. As funções anônimas também são conhecidas comoFunção literal.

Sintaxe:

    func(parameter_list) return_type {
        //Código
        //Se fornecido return_type, use a instrução return
        //Se não for fornecido return_type, não
        //Uso da instrução return
        return
    }()
package main 
  
import "fmt"
  
func main() { 
      
    //Função anônima
   func() 
  
      fmt.Println("Bem-vindo! a oldtoolbag.com") 
  }() 
    
}

Saída:

Bem-vindo! a oldtoolbag.com

Ponto importante:

  • No Go, você pode atribuir uma função anônima a uma variável. Quando você atribui uma função a uma variável, o tipo da variável é o tipo da função, você pode chamá-la como uma variável, como no exemplo a seguir.

    package main 
      
    import "fmt"
      
    func main() { 
          
        // Atribuir uma função anônima a uma variável
       value := func(){ 
          fmt.Println("Bem-vindo! a oldtoolbag.com") 
      } 
      value() 
        
    }

    Saída:

    Bem-vindo! a oldtoolbag.com
  • Você também pode passar parâmetros para uma função anônima.

    package main 
      
    import "fmt"
      
    func main() { 
          
        //Passando parâmetros para função anônima
      func(ele string){ 
          fmt.Println(ele) 
      }("w3codebox") 
        
    }

    Saída:

    w3codebox
  • Você também pode passar uma função anônima como parâmetro para outra função.

    package main 
      
    import "fmt"
      
      
      //Função 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{ 
            return p + q + "Geeks"
        } 
        GFG(value) 
    }

    Saída:

    w3codebox
  • Você também pode retornar uma função anônima de outra função.

    package main 
      
    import "fmt"
      
     //Retorna função anônima
     func GFG() func(i, j string) string{ 
         myf := func(i, j string) string{ 
              return i + j + "w3codebox"
         } 
        return myf 
     } 
        
    func main() { 
        value := GFG() 
        fmt.Println(value("Bem-vindo a", " ")) 
    }

    Saída:

    Bem-vindo a w3codebox