Blogの日本語訳を公開しています。Pikeはじめに手続き型プログラミング言語において共通した機能のひとつに配列という概念があります。答えなければならない多くの設問にこたえなければいけません。固定長なのか、可変長なのか長さは型に含めるのか多次元配列はどのように表現するか空の配列が何を意味するかこれらの設問に対する回答が、配列が単に言語の一機能になるか、それとも言語設計の中心になるかをわけます。Goの開発の初期段階で、言語設計がしっくりくるまで、これらの設問に対する答えを決めるのに1年かかりました。鍵となったのはスライスの導入でした。スライスによって、固定長の配列に柔軟性や拡張性をもったデータ構造を与えました。今日まで、Goを使い始めたばかりのプログラマはスライスの動作の理解にしばしばつまづいています。それは他の言語での経験がスライスに対する考え方に影響しているからでしょう。この記事では、その混乱を解決しようと思います。そのように動作するのかを説明します。配列Goにおいて、配列は重要な要素ですが、工事における基礎のように、配列はより見えやすい構成要素の下に隠されています。面白くて、強力で、輝くアイデアであるスライスの話をする前に、まずは簡単に配列の説明をしましょう。配列はGoのプログラム内にはあまり見られません。配列の大きさは型の一部で、それによって表現力が制限されるからです。[256]byteは変数バッファを宣言しています。このバッファは256バイトを保持します。