ホームページ >バックエンド開発 >Golang >golang 配列には何が保存されますか?

golang 配列には何が保存されますか?

(*-*)浩
(*-*)浩オリジナル
2019-12-31 10:35:582037ブラウズ

golang 配列には何が保存されますか?

配列は、同じ種類のデータの一連のコレクションを指します。配列に含まれる各データは配列要素と呼ばれ、この型には、int、string などのプリミティブ型、またはユーザー定義型を使用できます。 (推奨学習: Go )

配列に含まれる要素の数は、配列の長さと呼ばれます。 Golang では、配列は固定長データ型であり、配列の長さは型の一部です。つまり、[5]int と [10]int は 2 つの異なる型です。

Golang の配列のもう 1 つの特徴は、占有メモリの連続性です。つまり、配列内の要素が連続したメモリ アドレスに割り当てられるため、配列要素のインデックス付けが非常に高速になります。

#Golang 配列の特徴

Golang 配列の特徴は次の 3 点に要約できます。 #固定長: これは、配列が拡大または縮小できないことを意味します。配列を拡張する場合は、新しい配列を作成し、元の配列の要素を新しい配列にコピーすることしかできません。

メモリが連続している: これは、キャッシュ内に長期間保持でき、検索速度が速いことを意味します。非常に効率的なデータ構造です。また、次のことが可能であることも意味します。数値的に (arr[index]) 配列内の要素にインデックスを付けます。

固定タイプ: 固定タイプは、各配列要素が格納できるデータと、各要素が格納できるデータのバイト数を制限することを意味します。

配列は固定長のデータ型であり、配列の長さと格納される要素のデータ型は配列の宣言時に決定され、変更できません。さらに多くの要素を保存する必要がある場合は、まず長い配列を作成してから、元の配列のデータを新しい配列にコピーする必要があります。

配列によって占有されるメモリは継続的に割り当てられます。たとえば、5 つの整数要素を含む配列を作成します:

arr1 := [5]int{10,20,30,40,50}

配列は次のとおりです。メモリ内 構造は次の図に似ています。

#連続メモリにより、CPU は使用されるデータを長期間キャッシュできます。また、メモリが連続している場合、インデックスの計算は非常に簡単です。つまり、配列内のすべての要素を迅速に繰り返すことができます。

golang 配列には何が保存されますか?理由は、配列の型情報によって、要素にアクセスするたびにメモリ内を移動する必要がある距離が得られるためであり、配列の各要素は同じ型であり、連続的に割り当てられるため、固定速度で移動できるため、配列内の任意の要素に非常に高速にインデックスを付けることができます。

以上がgolang 配列には何が保存されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。