以下のコード スニペットは、プライオリティ キューのプッシュ メソッドのライブラリ実装です。a = a[0 : n+1]
コードのある行が範囲外エラーをスローしないのはなぜだろうと思っています。
func (pq *PriorityQueue) Push(x interface{}) {
// Push and Pop use pointer receivers because they modify the slice's length,
// not just its contents.
// To simplify indexing expressions in these methods, we save a copy of the
// slice object. We could instead write (*pq)[i].
a := *pq
n := len(a)
a = a[0 : n+1]
item := x.(*Item)
item.index = n
a[n] = item
*pq = a
}