package main
import "fmt"
func main() {
fmt.Println("============append函数的基本使用==========")
s1 := []int{111, 222, 333, 444, 555, 666}
fmt.Printf("切片的长度:%v,切片的容量:%v, 切片对应的数据为:%v\n", len(s1), cap(s1), s1)
s1 = append(s1, 777)
fmt.Printf("扩容之后的切片s1的长度为:%v,容量为:%v,对应的数据为:%v\n", len(s1), cap(s1), s1)
s1 = append(s1, 888, 999)
fmt.Printf("扩容之后的切片s1的长度为:%v,容量为:%v,对应的数据为:%v\n", len(s1), cap(s1), s1)
fmt.Println("============切片的容量大于1024的情况===================")
s2 := make([]int, 1024, 1024)
s2 = append(s2, 333)
fmt.Printf("容量为1024的切片s2扩容的长度为:%v;容量为:%v\n", len(s2), cap(s2))
fmt.Println("================扩容的数据为切片的情况=================")
s2 = append(s2, s1...)
fmt.Println("追加切片所有元素的情况:", s2)
fmt.Println("=======================copy函数的使用===========================")
data1 := []int{111, 222, 333, 444, 555, 666, 777, 888, 999, 1000}
data2 := []int{123, 456, 789}
copy(data1, data2)
fmt.Println(data1)
data3 := []int{1, 2, 3}
copy(data3, data1)
fmt.Println(data3)
}
GOROOT=C:\Go
GOPATH=E:\Gosrc
C:\Go\bin\go.exe build -o C:\Users\dell\AppData\Local\Temp\___go_build_2_go.exe E:/Gosrc/mage/切片类型2.go
C:\Users\dell\AppData\Local\Temp\___go_build_2_go.exe
============append函数的基本使用==========
切片的长度:6,切片的容量:6, 切片对应的数据为:[111 222 333 444 555 666]
扩容之后的切片s1的长度为:7,容量为:12,对应的数据为:[111 222 333 444 555 666 777]
扩容之后的切片s1的长度为:9,容量为:12,对应的数据为:[111 222 333 444 555 666 777 888 999]
============切片的容量大于1024的情况===================
容量为1024的切片s2扩容的长度为:1025;容量为:1280
================扩容的数据为切片的情况=================
追加切片所有元素的情况: [... 333 111 222 333 444 555 666 777 888 999]
=======================copy函数的使用===========================
[123 456 789 444 555 666 777 888 999 1000]
[123 456 789]
Process finished with exit code 0