I have trouble understanding the following result. I am expecting the code
package main
import "fmt"
func main() {
fruits := []string{"apple", "banana", "orange", "kiwi", "ananas"}
for i, _ := range fruits {
s := append(fruits[:i], fruits[i+1:]...)
fmt.Println(s)
}
}
to return :
[banana orange kiwi ananas]
[apple orange kiwi ananas]
[apple banana kiwi ananas]
[apple banana orange ananas]
[apple banana orange kiwi]
instead it returns :
[banana orange kiwi ananas]
[banana kiwi ananas ananas]
[banana kiwi ananas ananas]
[banana kiwi ananas ananas]
[banana kiwi ananas ananas]
what am i missing? Note: I am note looking for code that returns the expected behavior, just trying to understand what the code does. Playground : https://play.golang.org/p/CB73GYvY7aW