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

Golang Tutorial di Base

Golang Istruzioni di Controllo

Golang Funzione & Metodo

Golang Struttura

Golang Slice & Array

Golang Stringa(String)

Golang Puntatore

Golang Interfaccia

Golang Concorrenza

Golang Eccezione(Error)

Altri oggetti variabili Golang

Funzione anonima Go

Go offre una funzione speciale chiamata funzione anonima. La funzione anonima non contiene alcun nome. Questa funzione è molto utile quando devi creare una funzione inline. In Go, la funzione anonima può formare un closure. La funzione anonima è anche chiamataFunzione letterale.

Sintassi:

    func(parameter_list) return_type {
        //Codice
        //Se viene fornito return_type, utilizzare lo statement return
        //Se non viene fornito return_type, non
        //Utilizzo dello statement return
        return
    }()
package main 
  
import "fmt"
  
func main() { 
      
    //Funzione anonima
   func() 
  
      fmt.Println("Benvenuto! a oldtoolbag.com") 
  }() 
    
}

Output:

Benvenuto! a oldtoolbag.com

Cosa sapere:

  • In Go, puoi assegnare una funzione anonima a una variabile. Quando assegni una funzione a una variabile, il tipo della variabile è il tipo della funzione, puoi chiamare la variabile come se fosse una funzione, come nell'esempio seguente.

    package main 
      
    import "fmt"
      
    func main() { 
          
        //Assegnazione di una funzione anonima a una variabile
       value := func(){ 
          fmt.Println("Benvenuto! a oldtoolbag.com") 
      } 
      value() 
        
    }

    Output:

    Benvenuto! a oldtoolbag.com
  • Puoi anche passare parametri in una funzione anonima.

    package main 
      
    import "fmt"
      
    func main() { 
          
        //Passaggio di parametri in una funzione anonima
      func(ele string){ 
          fmt.Println(ele) 
      }("w3codebox") 
        
    }

    Output:

    w3codebox
  • Puoi anche passare una funzione anonima come parametro a un'altra funzione.

    package main 
      
    import "fmt"
      
      
      //Passaggio di una funzione anonima come parametro  
     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:

    w3codebox
  • Puoi anche restituire una funzione anonima da un'altra funzione.

    package main 
      
    import "fmt"
      
     //Restituisce una funzione anonima
     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("Benvenuto in ", "to ")) 
    }

    Output:

    Benvenuto in w3codebox