Golang (Go とも呼ばれる) は、最新の高速同時プログラミング言語です。 Go は多くの組み込み型とデータ構造を提供しますが、その中で最も一般的に使用されるのはマップです。 Map は Go プログラミングで最も一般的に使用されるデータ構造の 1 つであり、シンプルなキーと値のストレージ ソリューションを提供し、高速なクエリと変更操作をサポートするため、Go プログラミングでは不可欠です。
マップを使用する場合、通常、特定のキー値に対応する値を取得するためにクエリ操作を実行する必要があります。では、マップ クエリ操作を実行するにはどうすればよいでしょうか?この記事ではGolangのマップクエリの方法を紹介します。
map は参照型です。make 関数を使用して空のマップを作成できます。make 関数の構文は次のとおりです:
make(map[KeyType]ValueType, [cap])
ここで、KeyType はキーのタイプ、ValueType は値のタイプ、cap はオプションのマップ容量で、マップの初期容量を示します。
次は、マップを作成し、要素とクエリを追加するサンプル プログラムです。
package main import "fmt" func main() { // 创建一个空的 map scores := make(map[string]int) // 添加键值对 scores["Alice"] = 90 scores["Bob"] = 85 scores["Charlie"] = 80 // 查询键值对应的值 fmt.Println(scores["Bob"]) // 输出 85 }
上記のサンプル プログラムでは、最初に make 関数を使用して空のマップを作成し、次に、スコア[key ] = value は、3 セットのキーと値のペアを追加します。最後に、scores["Bob"] を使用して Bob のスコアをクエリし、結果を出力します。
マップクエリを使用する場合、指定されたキーが存在しない場合、対応する値型のゼロ値 (nil など) が返されることに注意してください。上記の例では、scores["David"] など、存在しないキーをクエリすると、int 0 型のゼロ値が返されます。
実際のプログラミングでは、指定されたキーがマップ内に存在するかどうかを確認する必要があることがよくあります。指定されたキーがマップ内に存在するかどうかを確認する方法は非常に簡単です。カンマ演算子を直接使用するだけです:
value, ok := scores["Bob"] if ok == true { fmt.Println("Bob's score is", value) } else { fmt.Println("Bob's score does not exist") }
上記のコードでは、カンマ演算子を使用して戻り値scores["Bobを受け取ります。 "] と ok を同時に実行します。ブール値。ok が true の場合、キー Bob がスコアに存在し、その値を取得できることを意味します。そうでない場合は、このキーがスコアに存在しないことを意味します。
マップを使用する場合、多くの場合、マップ内のすべてのキーと値のペアを走査する必要があります。 Go は、マップ内の要素を反復処理するための range キーワードを提供します。
以下はマップを走査するためのサンプル プログラムです:
package main import "fmt" func main() { // 创建一个 map scores := map[string]int{ "Alice": 90, "Bob": 85, "Charlie": 80, } // 遍历 map for key, value := range scores { fmt.Println(key, value) } }
上記のコードでは、 range キーワードを使用してスコア マップ内のすべてのキーと値のペアを反復処理し、その値を出力します。キーの合計値。
Golang では、map は非常に強力なデータ構造であり、シンプルなキーと値のストレージ ソリューションを提供し、高速なクエリと変更操作をサポートします。この記事では、マップ クエリの基本的な使用法、指定されたキーがマップ内に存在するかどうかを確認する方法、およびマップを走査する方法を紹介します。この知識を習得すると、プログラマーは Golang プログラミング言語をより効率的に使用できるようになります。
以上がgolangでマップ要素を操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。