Go's slice is simple to use, but there are some easy to make mistakes if you are not aware of its internals. For example, with following program: package main import "fmt" func main() { healthyFoods := []string{"orange", "apple", "lettuce"} myFoods := healthyFoods[0:2] myFoods = append(myFoods, "bacon") fmt.Println(healthyFoods) } You