切片完结
This commit is contained in:
46
main.go
46
main.go
@@ -1,21 +1,43 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import "fmt"
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
//直接创建切片 切片类型 切片长度 切片容量
|
||||||
|
slice := make([]int, 10, 20)
|
||||||
|
fmt.Println(slice)
|
||||||
|
fmt.Println("切片长度:", len(slice))
|
||||||
|
fmt.Println("切片容量:", cap(slice))
|
||||||
|
|
||||||
|
slice[0] = 66
|
||||||
|
slice[1] = 88
|
||||||
|
fmt.Println("slice", slice)
|
||||||
|
|
||||||
|
//定义数组
|
||||||
var intarr = [6]int{1, 2, 3, 4, 5, 6}
|
var intarr = [6]int{1, 2, 3, 4, 5, 6}
|
||||||
slice := intarr[2:5]
|
//定义切片
|
||||||
fmt.Println("intarr:", intarr)
|
var slice2 = intarr[1:2]
|
||||||
fmt.Println("slice:", slice)
|
slice2[0] = 66
|
||||||
fmt.Println("slice len:", len(slice))
|
fmt.Println("intarr", intarr)
|
||||||
fmt.Println("slice cap:", cap(slice))
|
fmt.Println("slice2", slice2)
|
||||||
|
|
||||||
fmt.Printf("数组中下标为3位置的地址%p\n", &intarr[3])
|
i := 10
|
||||||
fmt.Printf("切片中下标为1位置的地址%p\n", &slice[1])
|
//底层追加元素的时候进行扩容,老数组扩容为新数组
|
||||||
|
slice3 := append(slice2, i)
|
||||||
|
fmt.Println("slice3", slice3)
|
||||||
|
|
||||||
//修改切片位置1的数值
|
//给自己追加
|
||||||
slice[1] = 16
|
//底层是新数组,不能直接维护,需要通过切片间接维护操作
|
||||||
fmt.Println("intarr:", intarr)
|
slice3 = append(slice3, 11)
|
||||||
fmt.Println("slice:", slice)
|
fmt.Println("slice3", slice3)
|
||||||
|
//...代表追加是是一个切片
|
||||||
|
slice3 = append(slice3, slice2...)
|
||||||
|
fmt.Println("slice3", slice3)
|
||||||
|
|
||||||
|
//拷贝
|
||||||
|
copy(slice3, slice)
|
||||||
|
fmt.Println("slice3", slice3)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user