0
点赞
收藏
分享

微信扫一扫

GoLang之切片操作注意事项

浮游图灵 2022-05-05 阅读 92

文章目录

GoLang之切片操作注意事项

1.错误在切片中插入元素

result := [][]int{{7, 0}, {7, 1}, {6, 1}}
	info := []int{5, 0}
	m := result[info[1]:]
	result = result[0:info[1]]
	result = append(result, info)
	result = append(result, m...)
	fmt.Println(result)//输出:[[5 0] [5 0] [7 1] [6 1]]

image-20220308142239184

image-20220308142432629

image-20220308142521448

image-20220308142535222

2.正确在切片中插入元素

func main() {
	result := []int{1, 2, 3, 4}
	result = append(result, 0) //随便添加个数字用于扩展一个空间
	copy(result[2:], result[1:])
	fmt.Println(result) //输出[1 2 2 3 4]

	result[1] = 10000
	fmt.Println(result)//输出[1 10000 2 3 4]

}

3.正确在尾部插入元素

func main() {
	var a [][]int
	var b []int
	b = []int{2, 3}
	a = append(a, b)
	fmt.Println(a) //输出[[2 3]]
	b = []int{555, 665}
	a = append(a, b)
	fmt.Println(a) //输出[[2 3] [555 665]]
}
var a [][]int
var b []int
func main() {
	b = []int{2, 3}
	a = append(a, b)
	fmt.Println(a) //输出[[2 3]]
	b = []int{555, 665}// []int{555, 665} 这一句已经给b分配了一个新的切片了
	a = append(a, b)
	fmt.Println(a) //输出[[2 3] [555 665]]
}
var a [][]int
var b []int
func main() {
	b = []int{2, 3}
	a = append(a, b)
	fmt.Println(a) //输出[[2 3]]
	b[0] = 5
	fmt.Println(a) //输出[[5 3]]
}
func main() {
	b = []int{2, 3}
	a = append(a, b)
	fmt.Println(a) //输出[[2 3]]
	b = append(b, 100)
	fmt.Println(a) //输出[[2 3]]
}

举报

相关推荐

0 条评论