Goスライスで作業しているときにインデックスの表記の周りに私の頭を包み込むように見えることができません。Goスライスのインデックスの表記の背後にあるアイデアは何ですか?
与えられたスライスs
。
s := []int{1, 2, 3, 4, 5}
ここで、新しいスライスs2 = [2 3]
を作成します。
s2 := s[1:3] // s2 = [2 3]
さて、この値にアクセスするとき、私は通過すべき思考プロセスは何ですか?インデックス1
からスライスの3番目の要素までの値を読み込んでいますか?あるいは、インデックス1
からインデックス3
までの値を読んでいますか?
私は、インデックス1
から始まり、インデックス3
まで行くと、私は位置1
で始まりませんし、これらの両方がs2
持つ3つの要素につながるよう3
を位置までつもりもないわけではありません。
この表記法の背後にある考え方は何ですか?
あなたはここで働いそれを見ることができます。
は、包括的、排他的な指標の背後にある理由について、関連する質問を参照してください。org/p/AwYUsn3mON – SRC
@SRCはい、私はそれを見ます、それについてあなたの質問は何ですか? 's1'は1つの要素だけのスライスで、' s [2] 'はインデックス式で、2番目の要素(0をインデックスとする)は' 3'です。 – icza
私の例はあまり選ばれていないかもしれません。私は、単一の値のアクセスと新しいスライスの作成の違いをよく知っています。私は実際にインデックスの背後にある考え方が最初の値がインデックスであるように見えるのを知ることを意味し、2番目のインデックスはインデックスであり、1から始まる要素の位置です。私は質問を更新しました。 – sge