Golangのマップとは何ですか
golang では、マップは特別なデータ構造です。キー (インデックス) と値 (値) の形式の順序付けされていないコレクションです。連想配列または辞書とも呼ばれます。マップは値を素早く見つけられる理想的な構造は、与えられたキーに基づいて対応する値を素早く見つけることができるデータ構造です。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Go 言語のマップは、要素のペア (ペア) の順序付けされていないコレクションである特別なデータ構造であり、ペアはキー (インデックス) と値 (値) に対応するため、この構造は連想配列または連想配列とも呼ばれます。辞書は、値をすばやく見つけることができる理想的な構造であり、キーが与えられると、対応する値をすぐに見つけることができます。
Golang のマップのキーには、int、string、bool など、== を使用して比較できる任意のデータ型を指定でき、値には任意の型を指定できます。
マップは順序付けされていないデータ構造であるため、走査するたびに同じマップが一貫性のない順序で取得される可能性があります。
マップの概念
map は参照型であり、次の方法で宣言できます:
var mapname map[keytype]valuetype
where:
mapname はマップの変数名です。
keytype はキーのタイプです。
valuetype は、キーに対応する値のタイプです。
ヒント: [keytype] と valuetype の間にはスペースを使用できます。
マップは動的に拡張できるため、宣言時にマップの長さを知る必要はありません。初期化されていないマップの値は nil です。関数 len() を使用して取得できます。マップ内のペアの数。
[例]
package main import "fmt" func main() { var mapLit map[string]int //var mapCreated map[string]float32 var mapAssigned map[string]int mapLit = map[string]int{"one": 1, "two": 2} mapCreated := make(map[string]float32) mapAssigned = mapLit mapCreated["key1"] = 4.5 mapCreated["key2"] = 3.14159 mapAssigned["two"] = 3 fmt.Printf("Map literal at \"one\" is: %d\n", mapLit["one"]) fmt.Printf("Map created at \"key2\" is: %f\n", mapCreated["key2"]) fmt.Printf("Map assigned at \"two\" is: %d\n", mapLit["two"]) fmt.Printf("Map literal at \"ten\" is: %d\n", mapLit["ten"]) }
出力結果:
この例では、mapLit は {key1: value1, key2: の使用を示しています。 value2} 形式を使用して、配列や構造体と同様にマップを初期化します。
上記のコードの mapCreated の作成メソッド mapCreated := make(map[string]float)
は、mapCreated := map[string]float{}## と同等です。 # 。
mapCreated := new(map[string]float)
invalid operation: mapCreated["key1"] (index of type *map[string]float).
マップの容量
配列とは異なり、マップは新しいキーと値に応じて動的に拡張および縮小できるため、固定長や最大制限はありませんが、マップをマークすることを選択します。 初期容量の形式は次のとおりです:make(map[keytype]valuetype, cap)
map2 := make(map[string]float, 100)
noteFrequency := map[string]float32 { "C0": 16.35, "D0": 18.35, "E0": 20.60, "F0": 21.83, "G0": 24.50, "A0": 27.50, "B0": 30.87, "A4": 440}
以上がGolangのマップとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

GO言語は、効率的でスケーラブルなシステムの構築においてうまく機能します。その利点には次のものがあります。1。高性能:マシンコードにコンパイルされ、速度速度が速い。 2。同時プログラミング:ゴルチンとチャネルを介してマルチタスクを簡素化します。 3。シンプルさ:簡潔な構文、学習コストとメンテナンスコストの削減。 4。クロスプラットフォーム:クロスプラットフォームのコンパイル、簡単な展開をサポートします。

GOプログラミングのリソース管理:MySQLとRedisは、特にデータベースとキャッシュを使用して、リソースを正しく管理する方法を学習するために接続およびリリースします...

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOで開発するとき、Oracleデータベースに接続することは一般的な要件です...

マルチプロセスのログライティングの並行性セキュリティの問題を効率的に処理します。複数のプロセスが同じログファイルを同時に書き込みます。並行性が安全で効率的であることを確認する方法は?これは...

Golangは、パフォーマンスとスケーラビリティの点でPythonよりも優れています。 1)Golangのコンピレーションタイプの特性と効率的な並行性モデルにより、高い並行性シナリオでうまく機能します。 2)Pythonは解釈された言語として、ゆっくりと実行されますが、Cythonなどのツールを介してパフォーマンスを最適化できます。
