切片是指向数组段的指针
切片是指向数组的指针,包括段的长度和容量。它们表现为指针,并将其值分配给另一个切片,将分配内存地址。要将切片值复制到另一个切片值,请使用内置复制功能:func copy(dst, src []Type) int
(返回复制的项目数量)。
package main
import (
"fmt"
)
func main() {
x := []byte{'a', 'b', 'c'}
fmt.Printf("%s", x) // prints: abc
y := x
y[0], y[1], y[2] = 'x', 'y', 'z'
fmt.Printf("%s", x) // prints: xyz
z := make([]byte, len(x))
// To copy the value to another slice, but
// but not the memory address use copy:
_ = copy(z, x) // returns count of items copied
fmt.Printf("%s", z) // prints: xyz
z[0], z[1], z[2] = 'a', 'b', 'c'
fmt.Printf("%s", x) // prints: xyz
fmt.Printf("%s", z) // prints: abc
}