Maison >développement back-end >Golang >Les paramètres variadiques de Golang peuvent-ils être utilisés pour des opérations simultanées ?
Les paramètres variadiques du langage Go permettent aux fonctions d'accepter un nombre variable de paramètres pour gérer n'importe quel nombre d'entrées. Ils peuvent également être utilisés pour des opérations simultanées, telles que l'exécution simultanée d'un ensemble de fonctions, chacune recevant un nombre variable d'arguments entiers. Une utilisation variadique simultanée peut être obtenue en utilisant un WaitGroup pour attendre la fin de toutes les goroutines.
Utilisation simultanée de paramètres variadiques dans le langage Go
Dans le langage Go, les paramètres variadiques sont un paramètre de fonction spécial qui permet à une fonction d'accepter un nombre variable de paramètres. En règle générale, les arguments variadiques sont utilisés lorsqu'une fonction doit gérer un nombre arbitraire d'entrées.
La syntaxe ...
est utilisée pour déclarer les paramètres variables. Par exemple, la fonction suivante accepte un paramètre de chaîne fixe et un nombre quelconque de paramètres entiers : ...
语法用于声明可变参数。例如,以下函数接受一个固定的字符串参数和任意数量的整数参数:
func concat(s string, nums ...int) string { var result string result += s for _, n := range nums { result += strconv.Itoa(n) } return result }
并发使用可变参数
可变参数也可以用于并发操作中。例如,以下函数并发地执行一组函数,其中每个函数都接收一个可变数量的整数参数:
func parallel(tasks ...func(...int)) { var wg sync.WaitGroup for _, task := range tasks { wg.Add(1) go func() { defer wg.Done() task() }() } wg.Wait() }
在这个例子中,wg
(sync.WaitGroup
)用于等待所有 goroutine 完成。
实战案例
以下是一个使用可变参数进行并发操作的实战案例:
func main() { // 定义一个将整数相加的函数 sum := func(nums ...int) int { var total int for _, n := range nums { total += n } return total } // 定义一组并发任务 tasks := []func(...int){ func(nums ...int) { fmt.Println("Task 1:", sum(nums...)) }, func(nums ...int) { fmt.Println("Task 2:", sum(nums...)) }, func(nums ...int) { fmt.Println("Task 3:", sum(nums...)) }, } // 并发执行任务 parallel(tasks...) }
在这个例子中,parallel
rrreee
wg
(sync.WaitGroup
code>) est utilisé pour attendre que toutes les goroutines soient terminées. 🎜🎜🎜Cas pratique🎜🎜🎜Ce qui suit est un cas pratique d'utilisation de paramètres variables pour des opérations simultanées : 🎜rrreee🎜Dans cet exemple, la fonction parallèle
exécute trois tâches simultanément, chaque tâche calcule toutes deux la somme d'un ensemble d'entiers différents. 🎜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!