package main
import "fmt"
func main(){
original := make([]int, 0, 5)
fmt.Println("orig cap:", cap(original)) // 5
fmt.Println("orig len:", len(original)) // 0
original = append(original, 0)
original = append(original, 1)
original = append(original, 2)
fmt.Println("orig cap:", cap(original)) // 5
fmt.Println("orig len:", len(original)) // 3
slice := original[1:]
fmt.Println("slice cap:", cap(slice)) // 4
fmt.Println("slice len:", len(slice)) // 2
original[0]++
slice[0]++
slice[1]++
fmt.Println("orig:", original) // [1, 2, 3]
slice = append(slice, 4)
fmt.Println("orig cap:", cap(original)) //
fmt.Println("orig len:", len(original)) //
fmt.Println("slice cap:", cap(slice)) //
fmt.Println("slice len:", len(slice)) //
fmt.Println("slice:", slice) // [, , ]
original = append(original, -1)
fmt.Println("orig:", original) // [, , ]
fmt.Println("slice:", slice) // [, , ]
}
cGFja2FnZSBtYWluCmltcG9ydCAiZm10IgoKZnVuYyBtYWluKCl7CiAgICBvcmlnaW5hbCA6PSBtYWtlKFtdaW50LCAwLCA1KQogICAgZm10LlByaW50bG4oIm9yaWcgY2FwOiIsIGNhcChvcmlnaW5hbCkpIC8vIDUKICAgIGZtdC5QcmludGxuKCJvcmlnIGxlbjoiLCBsZW4ob3JpZ2luYWwpKSAvLyAwCiAgICAKICAgIG9yaWdpbmFsID0gYXBwZW5kKG9yaWdpbmFsLCAwKQogICAgb3JpZ2luYWwgPSBhcHBlbmQob3JpZ2luYWwsIDEpCiAgICBvcmlnaW5hbCA9IGFwcGVuZChvcmlnaW5hbCwgMikKICAgIGZtdC5QcmludGxuKCJvcmlnIGNhcDoiLCBjYXAob3JpZ2luYWwpKSAvLyA1CiAgICBmbXQuUHJpbnRsbigib3JpZyBsZW46IiwgbGVuKG9yaWdpbmFsKSkgLy8gMwoKICAgIHNsaWNlIDo9IG9yaWdpbmFsWzE6XQogICAgZm10LlByaW50bG4oInNsaWNlIGNhcDoiLCBjYXAoc2xpY2UpKSAvLyA0CiAgICBmbXQuUHJpbnRsbigic2xpY2UgbGVuOiIsIGxlbihzbGljZSkpIC8vIDIKICAgIG9yaWdpbmFsWzBdKysKICAgIHNsaWNlWzBdKysKICAgIHNsaWNlWzFdKysKICAgIGZtdC5QcmludGxuKCJvcmlnOiIsIG9yaWdpbmFsKSAvLyBbMSwgMiwgM10KICAgIAogICAgc2xpY2UgPSBhcHBlbmQoc2xpY2UsIDQpCiAgICBmbXQuUHJpbnRsbigib3JpZyBjYXA6IiwgY2FwKG9yaWdpbmFsKSkgLy8gCiAgICBmbXQuUHJpbnRsbigib3JpZyBsZW46IiwgbGVuKG9yaWdpbmFsKSkgLy8gCiAgICBmbXQuUHJpbnRsbigic2xpY2UgY2FwOiIsIGNhcChzbGljZSkpIC8vIAogICAgZm10LlByaW50bG4oInNsaWNlIGxlbjoiLCBsZW4oc2xpY2UpKSAvLyAKICAgIGZtdC5QcmludGxuKCJzbGljZToiLCBzbGljZSkgLy8gWywgLCBdCiAgICAKICAgIG9yaWdpbmFsID0gYXBwZW5kKG9yaWdpbmFsLCAtMSkKICAgIGZtdC5QcmludGxuKCJvcmlnOiIsIG9yaWdpbmFsKSAvLyBbLCAsIF0KICAgIGZtdC5QcmludGxuKCJzbGljZToiLCBzbGljZSkgLy8gWywgLCBdCn0=