Golang中append操作实例讲解

admin 发表于 [Golang] 分类,标签: 学习笔记
0
// 例子 1:
a := []int{1, 2, 3, 4, 5, 6}
b := append(a[0:1], 0)
fmt.Printf("%#v\n", a) //输出:[]int{1, 0, 3, 4, 5, 6}
fmt.Printf("%#v\n", b) //输出:[]int{1, 0}
	
// 例子 2:
a = []int{1, 2, 3, 4, 5, 6}
b = append(a[0:2], 0)
fmt.Printf("%#v\n", a) //输出:[]int{1, 2, 0, 4, 5, 6}
fmt.Printf("%#v\n", b) //输出:[]int{1, 2, 0}


// 例子 3:
a = []int{1, 2, 3, 4, 5, 6}
b = append(a[1:4], 0)
fmt.Printf("%#v\n", a) //输出:[]int{1, 2, 3, 4, 0, 6}
fmt.Printf("%#v\n", b) //输出:[]int{2, 3, 4, 0}


    总结:
        b := append(a[m:n], 0) //m和n分别代表开始和结束的下标数值。m<n。
        这段代码执行了两个操作:
        1. 对于变量a而言,将a中的下标为n的元素设置为0(即a[m:n]定位的是下标为m~n-1的元素,在下标为n-1的元素后面追加元素就是从下标为n的位置开始设置值,要注意的是,这里的追加不是在中间插入新值,而是覆写旧值);
        2. 对于变量b而言,取a中的m~n-1这个区间的元素然后再追加一个新元素值0,即为b的值

发表我的评论