go语音基础之切片和底层数组关系

Posted nulige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语音基础之切片和底层数组关系相关的知识,希望对你有一定的参考价值。

1、切片和底层数组关系

示例:

package main //必须有个main包

import "fmt"

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

	//新切片
	s1 := a[2:5] //从a[2]开始,取3个元素
	s1[1] = 666
	fmt.Println("s1 = ", s1) //[2 3 4]
	fmt.Println("a = ", a)   //[2 666 4]

	//另外新切片
	s2 := s1[2:7]
	s2[2] = 777
	fmt.Println("s2 = ", s2) //[4 5 777 7 8]
	fmt.Println("a = ", a)   //[0 1 2 666 4 5 777 7 8 9]
}

执行结果:

s1 =  [2 666 4]
a =  [0 1 2 666 4 5 6 7 8 9]
s2 =  [4 5 777 7 8]
a =  [0 1 2 666 4 5 777 7 8 9]

  

 

以上是关于go语音基础之切片和底层数组关系的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学Go之容器:切片

Go语言基础之切片

go——切片

[GO]切片和底层数组的关系

Go切片实现

《Go题库·1》Golang里的数组和切片有了解过吗?