切片增加 Link to heading
使用append方法可以给切片后面追加数据,返回新切片;
容量够追加 Link to heading
如果一个切片数据,足够容纳追加的数据,那么不会新开辟内存
package main
import "fmt"
func main() {
// make函数创建切片make(类型,长度,容量)
var slice = make([]int, 5, 10)
s1 := append(slice, 2, 3)
fmt.Println(slice)
fmt.Println(s1)
// 修改第二个数据
s1[1] = 111
// [0 111 0 0 0]
fmt.Println(slice)
// [0 111 0 0 0 2 3]
fmt.Println(s1)
}
容量不够追加 Link to heading
切片容量不够追加,会创建新变量并2倍扩容
package main
import "fmt"
func main() {
var slice = make([]int, 5, 10)
s1 := append(slice, 2, 3, 4, 5, 6, 7)
s1[1] = 111
// 【0 0 0 0 0】
fmt.Println(slice)
// [0 111 0 0 0 555 3 4 5 6 7]
fmt.Println(s1)
}
切片插入 Link to heading
利于切片方法和append可以实现从切片中插入数据
package main
import "fmt"
func main() {
// 在特定位置插入 233
d := []int{11, 22, 33, 44, 55}
d = append(d[:2], append([]int{233}, d[2:]...)...)
fmt.Println(d)
}
切片删除 Link to heading
package main
import "fmt"
func main() {
// 删 33
c := []int{11, 22, 33, 44, 55}
c = append(c[:2], c[2+1:]...)
fmt.Println(c)
}