Avatar ·

Comment concaténer deux slices en Go ? Concaténation de slices

Bonjour ! Je viens de commencer à apprendre Go et j'ai rencontré un problème. Je dois concaténer deux slices en un seul. En Python, j'écrirais simplement `list1 + list2`, mais en Go, comme je l'ai compris, une telle opération n'existe pas. J'ai deux slices d'entiers : ```go slice1 := []int{1, 2, 3} slice2 := []int{4, 5, 6} ``` Je veux obtenir le résultat : `[1 2 3 4 5 6]`. J'ai essayé d'utiliser l'opérateur `+`, mais le compilateur renvoie une erreur : `invalid operation: slice1 + slice2 (operator + not defined on slice)`. Ensuite, je suis tombé sur la fonction `append`, mais elle ajoute les éléments un par un. Écrire une boucle pour chaque élément — ce n'est pas inefficace ? Peut-être existe-t-il une méthode intégrée ou une solution idiomatique en Go ? Et autre question : si j'utilise `append`, cela affectera-t-il les slices d'origine ? Le nouveau slice sera-t-il une copie indépendante ? Dites-moi comment concaténer correctement des slices en Go, et ce qui se passe au niveau de la mémoire ? Merci d'avance ! <<>>

Utilisation de append avec dépaquetage (variadic)