Dans Go, vous pouvez passer une fonction en paramètre via un pipeline. Les étapes sont les suivantes : Définir une Goroutine qui reçoit la fonction. Dans Goroutine côté appelant, créez le canal et envoyez-lui la fonction.
Passage des paramètres de fonction via des tuyaux dans Go
Dans Go, les tuyaux sont un mécanisme de concurrence utilisé pour la communication inter-processus (IPC). Grâce à des tuyaux, nous pouvons envoyer des données d'une goroutine à une autre. En plus de transmettre des types de données simples, nous pouvons également transmettre des fonctions en tant que paramètres via le pipeline.
Utilisation
Pour passer une fonction en paramètre via un tube, nous suivons ces étapes :
Exemple de code
package main import ( "fmt" "time" ) func main() { // 定义接收函数的 Goroutine go func() { for { // 从管道接收函数 fn := <-chanFunc // 执行函数 fn() } }() // 创建管道 chanFunc := make(chan func()) // 向管道发送函数 go func() { for { chanFunc <- func() { fmt.Println("Hello from function!") } time.Sleep(1 * time.Second) } }() // 保持主 Goroutine 运行 select {} }
Cas pratique
Cet exemple de code montre comment utiliser des tuyaux pour transmettre des fonctions en tant que paramètres. Dans ce cas particulier, nous envoyons en argument une fonction qui imprime un message via le tube. En exécutant ce code, nous pouvons voir la sortie continue : "Bonjour de la fonction !".
Avantages
Passer des fonctions comme arguments via des tuyaux offre les avantages suivants :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!