在进行切片的时候,底层数组不会被复制,仍然会被切片所引用。
比如说我们需要输出一个文件的前面10字节,我们使用下面的方式

package main 

import (
	"fmt"
	"io/ioutil"
)

func main(){
	filename := "data.csv"
	data, err := ioutil.ReadFile(filename)
	if err != nil{
		fmt.Println(err)
	}
	header := data[:10]
	fmt.Println(header)
}
将结果在进行复制
package main 

import (
	"fmt"
	"io/ioutil"
)

func main(){
	filename := "data.csv"
	data, err := ioutil.ReadFile(filename)
	if err != nil{
		fmt.Println(err)
	}
	header := append([]byte{}, data[:10]...}
	// 这里也可以使用copy函数进行复制
	fmt.Println(header)
}