Weird merge slices
- When we try to remove an element in the middle but assign to a new name.
- Avoid this mess!
examples/weird-merge-slices/weird_merge_slices.go
package main import ( "fmt" ) func main() { celestialObjects := []string{"Moon", "Gas", "Asteroid", "Dwarf", "Star", "Commet"} fmt.Println(celestialObjects) fmt.Println(celestialObjects[:3]) fmt.Println(celestialObjects[4:]) fmt.Println() part := append(celestialObjects[:3], celestialObjects[4:]...) fmt.Println(part) fmt.Println(celestialObjects) fmt.Printf("part - len: %v cap: %v\n", len(part), cap(part)) fmt.Printf("orig - len: %v cap: %v\n", len(celestialObjects), cap(celestialObjects)) }
[Moon Gas Asteroid Dwarf Star Commet] [Moon Gas Asteroid] [Star Commet] [Moon Gas Asteroid Star Commet] [Moon Gas Asteroid Star Commet Commet]