ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 一、实例 ~~~ package main import "fmt" func main() { // 定义一个数组 arr := [...]int{1,2,3,4,5,6,7,8,9} s1 := arr[2:6] fmt.Println(s1) // go语言没有取到的位置,可以向后延伸,不可向前延伸 s2 := s1[3:5] fmt.Println(s2) // s3 := append(s2,10) fmt.Println(s3) fmt.Println(arr) s4 := append(s3,11) fmt.Println(s4) fmt.Println(arr) // 超过原来的内存空间后,会生成新的内存空间,但是这里不知道,无法获取 s5 := append(s4,12) fmt.Println(s5) fmt.Println(arr) s6 := append(s5,13) fmt.Println(s6) fmt.Println(arr) } ~~~ 结果为: [3 4 5 6] [6 7] [6 7 10] [1 2 3 4 5 6 7 10 9] [6 7 10 11] [1 2 3 4 5 6 7 10 11] [6 7 10 11 12] [1 2 3 4 5 6 7 10 11] [6 7 10 11 12 13] [1 2 3 4 5 6 7 10 11] ## 实例二 ~~~ package main import "fmt" func main() { // 定义一个数组 arr := [...]int{0,1,2,3,4,5,6,7,8,9} // 取切片 // 8,9 s1 := arr[8:] fmt.Println(s1) //0,1,2,3,4 s2 := arr[:5] fmt.Println(s2) // 将后面的切片元素,拷贝到前面的切片中 // copy() 从前往后添加 copy(s2,s1) fmt.Println(s2) fmt.Println(arr) } ~~~ 结果为: [8 9] [0 1 2 3 4] [8 9 2 3 4] [8 9 2 3 4 5 6 7 8 9]