golangの二次元マップを使用して

免責事項:この記事はブロガーのオリジナルの記事、転載記述のリンクを追加する必要があります。https://blog.csdn.net/makenothing/article/details/89786679

地図

1.1マップ

地図はgolang、キーと値のデータ型が一緒に拘束されることにあります。達成するためにハッシュを使用して、キー値、マップに対応することによって得ることができる、あなたはすぐに対応するキーの値を見つけることができます。タイプは表します。map[keyType][valueType]例えば:age' := make(map[string]int)何の意味せず、マップを初期化するために、内蔵のメイク機能を使用して、そして唯一の理由は、マップはnilとして、初期マップを作成し、要素を追加するために使用することができ、それは実行時エラーになります。

package main

import (  
    "fmt"
)
func main() {  
    var agemap[string]int
    if age== nil {
        fmt.Println("map is nil.")
        age= make(map[string]int)
    }
}

空に1.2地図

マップをgolangは空にするための組み込み関数、空のマップ、その上に直接初期化の明確なマップを提供していません。
年齢データの特定の収集については、明確な方法が再び初期化されます。age = make(map[string]int)後者は、もはやマップを使用しない場合は、あなたが直接することができます:age= nilデータを消去するという目的を達成するために、しかし、あなたが再利用する必要がある場合は、初期化しなければならない、またはマップnilに何かを追加することはできません。

1.3地図参照のプロパティ

スライスと同じように、マップが参照型です。マップは同じ内部データ構造に新しい変数、彼らはすべてのポイントに割り当てられている場合。また別に反映されるため、変更

package main

import (
    "fmt"

)

func main() {
	age := map[string]int{
        "steve": 20,
        "jamie": 80,
    }
    fmt.Println("Ori age", age)
    newage:= age
    newage["steve"] = 18
    fmt.Println("age changed", age)
}
Ori age map[steve:20 jamie:80]
age changed map[steve:18 jamie:80]

2.1-Dマップ

二次元マップ初期化2.1.1

2つのステップが初期化するのに必要とされます

yourMap := make(map[string]map[string]int)
for i, _ := range yourMap {
	yourMap[i] = make(map[string]int)
}

クリアの2.1.2 2次元マップ

二维以及多维map的清空同一维map的原理是相同的,不再赘述。

おすすめ

転載: blog.csdn.net/makenothing/article/details/89786679