切片增加
使用append方法可以给切片后面追加数据,返回新切片;
容量够追加
如果一个切片数据,足够容纳追加的数据,那么不会新开辟内存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| package main
import "fmt"
func main() { var slice = make([]int, 5, 10) s1 := append(slice, 2, 3) fmt.Println(slice) fmt.Println(s1) s1[1] = 111
fmt.Println(slice) fmt.Println(s1)
}
|
容量不够追加
切片容量不够追加,会创建新变量并2倍扩容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| package main
import "fmt"
func main() { var slice = make([]int, 5, 10)
s1 := append(slice, 2, 3, 4, 5, 6, 7)
s1[1] = 111 fmt.Println(slice) fmt.Println(s1)
}
|
切片插入
利于切片方法和append可以实现从切片中插入数据
1 2 3 4 5 6 7 8 9 10 11
| package main
import "fmt"
func main() { d := []int{11, 22, 33, 44, 55} d = append(d[:2], append([]int{233}, d[2:]...)...) fmt.Println(d) }
|
切片删除
1 2 3 4 5 6 7 8 9 10 11
| package main
import "fmt"
func main() { c := []int{11, 22, 33, 44, 55} c = append(c[:2], c[2+1:]...) fmt.Println(c) }
|