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

Golang Basic Tutorial

Golang Control Statements

Golang Functions & Methods

Golang Struct

Golang Slice & Array

Golang String (String)

Golang Pointers

Golang Interface

Concurrence en Golang

Erreurs (Error) en Golang

Autres éléments divers en Golang

Fonction anonyme en langage Go

Le langage Go fournit une fonction spéciale appelée fonction anonyme. Une fonction anonyme est une fonction sans nom. Cette fonction est très utile lorsque vous devez créer une fonction en ligne. Dans le langage Go, une fonction anonyme peut former un closure. Une fonction anonyme est également appeléeFonction littérale.

Syntaxe :

    func(parameter_list) return_type {
        //Code
        //Si le return_type est fourni, utilisez la directive return
        //Si le return_type n'est pas fourni, ne
        //Utiliser la directive return
        return
    }()
package main 
  
import "fmt"
  
func main() { 
      
    //Fonction anonyme
   func() 
  
      fmt.Println("Bienvenue! à oldtoolbag.com" 
  }() 
    
}

Sortie :

Bienvenue! à oldtoolbag.com

Remarque importante :

  • En langage Go, vous pouvez affecter une fonction anonyme à une variable. Lorsque vous affectez une fonction à une variable, le type de la variable est le type de la fonction. Vous pouvez appeler cette variable comme une fonction, comme dans l'exemple suivant.

    package main 
      
    import "fmt"
      
    func main() { 
          
        // Affecter une fonction anonyme à une variable
       value := func(){ 
          fmt.Println("Bienvenue! à oldtoolbag.com" 
      } 
      value() 
        
    }

    Sortie :

    Bienvenue! à oldtoolbag.com
  • Vous pouvez également passer des paramètres dans une fonction anonyme.

    package main 
      
    import "fmt"
      
    func main() { 
          
        //Passer des paramètres dans une fonction anonyme
      func(ele string){ 
          fmt.Println(ele) 
      }("w3codebox" 
        
    }

    Sortie :

    w3codebox
  • Vous pouvez également passer une fonction anonyme en paramètre à d'autres fonctions.

    package main 
      
    import "fmt"
      
      
      //Passer une fonction anonyme en paramètre  
     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) 
    }

    Sortie :

    w3codebox
  • Vous pouvez également retourner une fonction anonyme à partir d'une autre fonction.

    package main 
      
    import "fmt"
      
     //Retournez la fonction anonyme
     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("Bienvenue à", " ")) 
    }

    Sortie :

    Bienvenue à w3codebox