Avatar ·

Como concatenar dois slices em Go? Concatenação de slices

Olá! Acabei de começar a estudar Go e me deparei com um problema. Preciso concatenar dois slices em um. Em Python, eu simplesmente escreveria `list1 + list2`, mas em Go, pelo que entendi, não existe essa operação. Tenho dois slices de inteiros: ```go slice1 := []int{1, 2, 3} slice2 := []int{4, 5, 6} ``` Quero obter o resultado: `[1 2 3 4 5 6]`. Tentei usar o operador `+`, mas o compilador retorna um erro: `invalid operation: slice1 + slice2 (operator + not defined on slice)`. Depois, encontrei a função `append`, mas ela adiciona elementos um por um. Escrever um loop para cada elemento não é ineficiente? Talvez exista alguma forma embutida ou uma solução idiomática em Go? E outra pergunta: se eu usar `append`, isso afetará os slices originais? O novo slice será uma cópia independente? Diga-me como concatenar slices corretamente em Go e o que acontece com a memória nesse processo? Desde já, obrigado! <<>>

Usando append com desempacotamento (variadic)