Avatar ·

Como remover um elemento de um slice em Golang: maneiras corretas

Olá a todos! Comecei a estudar Go recentemente e me deparei com um problema ao trabalhar com slices. Preciso remover um elemento pelo índice, mas não consigo encontrar uma função embutida que faça isso. Em Python, estou acostumado com `list.pop()` ou `del list[i]`, mas em Go não existe isso.\n\nAqui está o que tentei:\n\n```go\npackage main\n\nimport "fmt"\n\nfunc main() {\n fruits := []string{"apple", "banana", "cherry", "date"}\n // Quero remover "banana" (índice 1)\n // Tentei apenas atribuir nil - não funciona\n // fruits[1] = nil // erro de compilação\n \n // Tentei fazer um slice, mas ficou estranho\n result := append(fruits[:1], fruits[2:]...)\n fmt.Println(result) // exibe: [apple cherry date]\n fmt.Println(fruits) // exibe: [apple cherry date date] - bug!\n \n // Por que o slice original