マップ データ型は多くの言語で使用でき、キーと値の形式のハッシュ テーブルであるため、キーと値を 1 つずつマッピングできます。高速な検索、追加、削除などの操作が可能です。 Go 言語も例外ではなく、マップ データ構造タイプを提供します。
# (推奨学習: Go )
Golang、マップは参照型です。ポインターのスライスと同様に、nil を指します。次のコードで宣言された後。これは golang の公式ドキュメントにも説明されているので、宣言直後は絶対に使用しないでください。最初は次のような間違いを犯す可能性があります。これに書き込むと null ポインターへの参照になるため、問題が発生します。 したがって、必ず make 関数を使用してメモリを割り当て、初期化する必要があります。var m map[string]string m["result"] = "result"
golang のマップは同時実行安全ではありません
普段は地図を使っていてとても楽しいのですが、ある日突然トラフィックが増えて、知らないうちにプログラムがハングアップしてしまいます。何が起こったのか分かりませんが、以前は正常に動作していました。したがって、アサーションのチェック、同時実行の安全性の考慮など、いくつかの良い習慣を最初に身に付ける必要があります。
おそらく sync.Map を試してみてください。golang の sync.Map は同時実行安全です。実際、これは sync パッケージ内の Map という名前の golang でカスタマイズされた構造です。構造プロトタイプは次のとおりです。m := make(map[string]string) m["result"] = "result"Mutex があることがわかり、同時実行の安全性を確保するためにロック メカニズムが使用されていることは明らかです。このパッケージのマップは、ストア、ロード、削除、範囲などの操作を提供します。また、同期パッケージ内のマップはそのまま使用できます。つまり、次のように宣言後に直接使用できます。
以上がGolang マップの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。