Go言語でマップを使う
Go言語には、他の多くのプログラミング言語と同様に、キーと値のペアを保存するための"マップ"というデータ構造があります。
このセクションでは、Goのマップの基本的な使い方について説明します。
マップの宣言
Goでは、マップを宣言するには以下のように"make"関数を使います。
この関数は、指定された型の新しいマップを作成し、それを初期化します。
ソースコード例
1 2 3 4 5 6 7 8 9 10 |
package main import "fmt" func main() { // Create a new map var myMap = make(map[string]int) fmt.Println(myMap) } |
出力結果
map[]
マップに値を追加する
マップに値を追加するには、キーと値のペアを指定して、マップに追加します。
以下のコードでは、"apple"というキーに対して"100"という値を、"banana"というキーに対して"200"という値を追加しています。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
package main import "fmt" func main() { // Create a new map var myMap = make(map[string]int) // Add values to the map myMap["apple"] = 100 myMap["banana"] = 200 fmt.Println(myMap) } |
出力結果
map[apple:100 banana:200]
マップから値を取得する
マップから値を取得するには、キーを指定します。
下記のコードでは、"apple"というキーに対応する値を取得しています。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package main import "fmt" func main() { // Create a new map var myMap = make(map[string]int) // Add values to the map myMap["apple"] = 100 myMap["banana"] = 200 // Get value from the map value := myMap["apple"] fmt.Println(value) } |
出力結果
100
マップの値を修正する
マップの値を修正するには、新しい値を同じキーに対して設定します。
以下のコードでは、"apple"というキーに対して新しい値"150"を設定しています。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package main import "fmt" func main() { // Create a new map var myMap = make(map[string]int) // Add values to the map myMap["apple"] = 100 myMap["banana"] = 200 // Modify value in the map myMap["apple"] = 150 fmt.Println(myMap) } |
出力結果
map[apple:150 banana:200]
マップから値を削除する
マップから値を削除するには、"delete"関数を使います。
この関数は、指定されたキーとそれに対応する値をマップから削除します。
以下のコードでは、"apple"というキーとそれに対応する値を削除しています。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package main import "fmt" func main() { // Create a new map var myMap = make(map[string]int) // Add values to the map myMap["apple"] = 100 myMap["banana"] = 200 // Delete value from the map delete(myMap, "apple") fmt.Println(myMap) } |
出力結果
map[banana:200]
forループを使用したすべての値の取得
マップのすべての値を取得するには、forループとrangeキーワードを使います。
rangeキーワードを使うと、マップのすべてのキーと値に順番にアクセスできます。
下記のコードでは、マップのすべてのキーと値を出力しています。
ソースコード例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package main import "fmt" func main() { // Create a new map var myMap = make(map[string]int) // Add values to the map myMap["apple"] = 100 myMap["banana"] = 200 // Iterate over the map for key, value := range myMap { fmt.Println("Key:", key, "Value:", value) } } |
出力結果
Key: apple Value: 100
Key: banana Value: 200
まとめ
以上がGo言語のマップの基本的な使い方です。
マップは非常に便利なデータ構造なので、ぜひ使いこなしてプログラミングの幅を広げてください。
この記事では、マップの宣言方法、値の取得、追加、修正、削除の方法、そしてforループを使用した全ての値の取得方法を紹介しました。
Go言語はシンプルながらも強力な言語なので、これをきっかけにさらに深く学んでみてください。
少しでもお役に立てれば幸いです!