Nr_Narumium【GO】スライスについて深く考えるTweetなんとなく配列代わりに使ったりするスライス。深堀りしてどんなものか考えてみます。理解すれば中身が変わったり変わらなかったりで混乱することはないはず。スライスの正体と配列との違い配列は指定した型を指定した個数入れられる実体。対してスライスは配列へのポインタを持つ構造体です。ソースを見るとポインタ、長さ、キャパシティーを持っています。[]Type)が用意されている)。部分的なスライスを作る場合は元の配列(スライス)の参照であることに注意。...Type)で確保領域を追加できる。キャパシティーを超える追加では別の領域を新たに確保する点に注意。//trues1からs2へappendするとき、現キャパシティーの倍の10を新規に確保している。s2からs3へappendするときはキャパシティーが足りているので同じ領域に追加。スライスの検索for文などで回しながら走査するしかない。数値でソート済みであればバイナリサーチで多少早くできる。基本的にインデックス指定できないものはmapにした方が早い。{println(s1[ss])}重複なしで順番に意味がない場合はmapを使うのがベター。コメントをキャンセルメールアドレスが公開されることはありません。