如果我實現這樣的隊列......package mainimport( "fmt")func PopFront(q *[]string) string { r := (*q)[0] *q = (*q)[1:len(*q)] return r}func PushBack(q *[]string, a string) { *q = append(*q, a)}func main() { q := make([]string, 0) PushBack(&q, "A") fmt.Println(q) PushBack(&q, "B") fmt.Println(q) PushBack(&q, "C") fmt.Println(q) PopFront(&q) fmt.Println(q) PopFront(&q) fmt.Println(q) }...我最終得到一個["A", "B", "C"]沒有指向前兩個元素的切片的數組。由于切片的“開始”指針永遠不會遞減(AFAIK),因此永遠無法訪問這些元素。Go 的垃圾收集器足夠聰明來釋放它們嗎?
- 3 回答
- 0 關注
- 170 瀏覽
添加回答
舉報
0/150
提交
取消