前のブログでは、配列を記述し、Go言語をスライス- 言語の概要をGO(3) -スライスの配列を、このブログは、マッピングを記述するゴー言語(地図)
マッピングは、キーと値のペア障害のセットを格納するために使用される組み込みデータ構造です。
(1)マッピングを作成
する([ます。KeyType] ValueTypeに、InitialCapacityの値をマッピング)
作る(マップ[ます。KeyType] ValueTypeに)
地図【ます。KeyType] ValueTypeに{}
地図【ます。KeyType] ValueTypeに{KEY1:値1、KEY2:値2、...、keyN:値N}
第一及び第二の違いは何の指定された初期容量がないことである配列を、作成するための4つの方法で、それぞれ、次のようにしていますが、容量が十分ではありません一度、それは意志、理由マップの決定の性質上、それらについてのケアを使用する必要がない場合自動拡張:
FUNCのTEST1(){ MAP1: =作る(地図[ 文字列 ] 文字列、5 ) MAP2: =作る(地図[ 文字列 ] 文字列) MAP3: =マップ[ 文字列 ] 文字列{} MAP4: =マップ[ ストリング ] ストリング { " ":" 1 " " B ":" 2 " " C ":" 3 " } fmt.Println(MAP1、MAP2、MAP3、MAP4) }
次のように出力されます。
マップ[]マップ[] []地図マップ[Cを:3:1 B:2 ]
(2)充填マップ、トラバース
FUNCのTEST2(){ MAP1: =作る(地図[ ストリング ] 列) MAP1 [ " A " ] = " 1 "の MAP1 [ " B " ] = " 2 "の MAP1 [ " C " = " 3 " のためのキー、値:= レンジMAP1 { fmt.Printf(" %S - >% - 10S " 、キー、値) } }
上記のように、アレイは、2つの値、キーと値を返すそれぞれがマップ[キー] = valueのようにして、トラバースマッピング、移入します。結果は以下の通りであります:
A-> 1 B-> 2 C-> 3
(3)マップは、見つける、編集、および削除します
FUNCのTEST3(){ MAP4: =マップ[ ストリング ] ストリング { " A ":" 1 "、" B ":" 2 "、" C ":" 3 " } valは、存在する: =のMAP4 [ " " ] VAL2 、exist2: = MAP4 [ " D " ] fmt.Printf(" 体積%、体積%を\ n " 、存在し、ヴァル) FMT。printf( " %のV、容量%の\ nを"Exist2、VAL2) MAP4 [ " A " ] = " 8。" // マッピングを変更し、マッピングなし差分加算 fmt.Printf(" %のVの\のN- "MAP4) fmt.Println(" Bを削除します" ) の削除を( MAP4、" B " ) fmt.Printf(" %のV " 、MAP4) }
採取指定されたキー値に対応するマップは、第1の値に対応し、リターン2つの値を指定することができる場合、第二のか否かの値を示し、BOOLあります。上記、「」持っている必要があります値は、「b」は確かに何も値ではありません。
指定されたキーは、存在して作成する、またはそれを変更しない場合は、マッピングおよびマッピングが、操作には違いを追加していない変更します。
以下のように組み込み関数を使用して、外出先を削除し、削除、出力は次のようになります。
trueに、1 falseに、 マップ[:A 8 B:2:C 。3 ] Bを削除: マップ[A:8 C:3 ]
参考:「プログラミング言語を行きます」
ます。https://www.cnblogs.com/zrtqsk/p/4150129.htmlで再現