In Go (golang) what happens to memory when you append to a slice?