やあ、Techieさん!🌸
私のGoシリーズへようこそ!ここでは、私が学んだことをわかりやすく共有していく予定です。自分が犯したミスや、「あっ!」と理解が深まる瞬間も含めてお伝えします。Goを学んでいる方でも、ただ興味がある方でも、何か得られるものがあれば嬉しいです。
コメント欄に皆さんの知見や経験をぜひ共有してください。
今日のトピックは... ドラムロール、よろしく! スライス。早速見ていきましょう!
スライスとは一体何なのか?
Goのスライスを初めて見たとき、私は配列の別名だと思っていました。ところが、そうではなかったのです!
スライスは、基盤となる配列への動的なビューです。内部的には、スライスヘッダーと呼ばれる小さなデータ構造で表現されています。スライスヘッダーは、要素自体を格納するのではなく、基盤となる配列へのポインタと、その長さ、容量を保持します。この仕組みを理解したことで、スライスを変更すると元の配列も変更される理由がわかりました。
もう一つ興味深く便利な点は、固定サイズの配列と比べてスライスの柔軟性が高いことです。スライスはappend()などの関数を使って拡張したり、リスライスして基盤となる配列の一部だけを扱ったりできます。この柔軟性こそが、Goでスライスが頻繁に使われる理由のひとつです。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.