切片持有對底層數組的引用。只要切片在內存中,數組就不能被垃圾回收。在內存管理方面,這是須要注意的。讓咱們假設咱們有一個很是大的數組,咱們只想處理它的一小部分。而後,咱們由這個數組建立一個切片,並開始處理切片。這裏須要重點注意的是,在切片引用時數組仍然存在內存中。golang
一種解決方法是使用 copy 函數 func copy(dst,src[]T)int 來生成一個切片的副本。這樣咱們可使用新的切片,原始數組能夠被垃圾回收。數組
func copy(dst,src[]T)int