golangマップを追加しました

PHPz
リリース: 2023-05-21 21:28:06
オリジナル
887 人が閲覧しました

Golang は、C 言語の高性能と Python 言語のシンプルさと使いやすさを組み合わせた高度なプログラミング言語です。急速に発展し、業界で最も広く使用されているプログラミング言語の 1 つになりました。この記事では、Golang におけるマップの追加操作について説明します。

Map は、キーと値のペアを格納するために使用されるデータ構造です。 Python の Dictionary や Java の HashMap などに似ています。 Map は Golang の参照型であり、make 関数を使用して初期化できます。配列とは異なり、Map の長さは動的に増加する可能性があるため、不特定の数のキーと値のペアを格納するのに最適です。

Golang では、Map の追加操作は 2 つの部分に分かれており、最初の部分は Map 型変数の作成であり、2 番目の部分は Map へのデータの追加です。

最初に、Map タイプの変数を宣言する必要があります。構文は次のとおりです:

var m map[keyType]valueType

ここで、keyType はキーのタイプを表しますMap 内の valueType は、Map 内の値のタイプを表します。たとえば、キーが文字列型で値が整数型の Map を作成する場合、宣言ステートメントは次のようになります。

var m map[string]int

ここでの宣言では Map にメモリ空間が割り当てられないため、Map を使用する前に make 関数を使用して Map を初期化する必要があることに注意してください。 make 関数を使用するための構文は次のとおりです。

m = make(map[keyType]valueType)

または、短い宣言構文を使用してマップをすばやく作成することもできます。

m := make( map[string]int)

Map 型変数 m を作成したので、キーと値のペアを m に追加できます。 Map を使用した加算演算では、添字演算子 [] を使用する必要があります。これは、他の言語の配列添字演算子と同様です。新しい要素をマップに追加するときは、要素のキーと値を指定する必要があります。サンプルコードは次のとおりです:

m["one"] = 1
m["two"] = 2

この例では、マップのキーと値に 2 を追加します。ペアの場合、キーは「one」と「two」で、値はそれぞれ 1 と 2 です。マップ内の要素を変更する場合は、同じ構文を使用できます。

マップ内にすでに存在するキーの場合は、添字演算子を使用して値を取得できます。以下はサンプルコードです:

fmt.Println(m["one"]) // 出力 1
fmt.Println(m["two"]) // 出力 2

添字演算子を使用してマップに存在しないキーを取得すると、マップはキーに対応する値タイプのゼロ値を返します。たとえば、次のコード行を使用してキー「three」の値を取得するとします。

fmt.Println(m["three"]) // Output 0

where 0値がゼロの int 型です。

Golang では、Map は同時実行性が安全なデータ構造であるため、複数の goroutine で Map の要素に安全にアクセスして変更できることは注目に値します。ただし、同じキーに対する読み取りと書き込みの操作を同時に行うと、競合状態が発生する可能性があります。したがって、同時操作を実行する場合は、マップのセキュリティを確保するために、同期パッケージで提供される対応する関数を使用する必要があります。

つまり、Golang の Map は、多くの便利な操作を提供する強力なデータ構造です。 make 関数を使用してマップを初期化し、添字演算子を使用して新しい要素をマップに追加できます。マップは要素にアクセスする際に非常に効率的であり、マルチスレッド アプリケーションでも非常に安全です。

以上がgolangマップを追加しましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート