package main

import "fmt"

func main(){

    a := []int{0,1,2,3,4,5,6,7,8,9}

    //a = a[1:]//删除开头的第一个元素 unset 0
    //a = a[3:] //删除开头的前3个元素 unset 0 1 2

    //a = append(a[:0],a[1:]...) //删除开头的第一个元素,不移动数据指针,将后面的数据向开头移动
    //a = append(a[:0],a[3:]...) //删除开头的前3个元素,不移动数据指针,将后面的数据向开头移动

    //使用copy
    //a = a[:copy(a,a[1:])] //删除开头第一个元素
    //a = a[:copy(a,a[3:])] //删除开头前3个元素

    //从中间位置删除
    //a = append(a[:3],a[4:]...)//删除索引为3的数据 unset[3]
    //a = append(a[:3],a[5:]...)//删除索引大于等于3且小于5的数据 unset[3 4]

    //从尾部删除
    //a = a[:len(a)-1] //删除最后一个元素 9
    //a = a[:len(a)-3] //删除最后的3个元素 9 8 7

    fmt.Println(a)

}