はのは、私は長さ3のint型の次の配列があるとしましょう:Goでスライスの基本配列を取得するには?
nums := [3]int{1,2,3}
その後、私はちょうど最初の2つの項目numSliceとNUMSにcap
を呼び出す
numSlice := nums[:2]
のスライスをつかみますいずれの場合も3をもたらし、len
はそれぞれ2および3を生じる。
そのスライス(numSlice = append(numSlice, 10)
)に追加すると、基本アレイ(nums
)は[1 2 10]
になります。 cap
は、スライスの基礎となる配列が同じで、スライスのlenが3になっているので、両方とも3のままです。
ただし、そのスライスにもう一度追加すると(numSlice = append(numSlice, 20)
)変更する必要があります - 今度はcap
がnumSliceに倍増し、lenが4になった場合です。
ご迷惑をかけて申し訳ありませんが、自分自身を歩いていると申し訳ありませんが、基礎となる配列と新しい配列への参照を取得する方法は?
この記事はあまりにも便利です。http://blog.golang.org/slices 'Data'が指すない可能性があることは注目に値する – leeor
バッキング配列の開始点:スライスの0番目の要素まで。したがって、 'numSlice:= nums [1:]'の場合、実際にはArrayの2番目の要素を指してしまうことになります。 [例](http://play.golang.org/p/8fCCz9d7rG) – djd
おそらくばかげた質問として、これは何のパフォーマンスですか? – Highstead