マップ2

増加し、マップを更新します。

  マップ[「キー」] =値//キーがされていない場合は、キーが存在の変化がある場合に、増大することです

ケースプレゼンテーション:

FUNCのメイン(){

  都市:=作る(マップ[文字列]文字列)
  都市[ "NO1"] = "北京"
  都市[ "NO 2"] = "天津"
  都市[ "NO3"] = "上海"

  このNO3キーが既に存在しているので、次の文が変更されているので//
  都市[「NO 3」] =「上海〜」
  fmt.Println(都市)
}


マップを削除します。

説明:

(マップ、「キー」)を削除し、キーが存在する場合、キーが存在しない場合は、動作しない、キーと値を削除するだけでなく、文句はありません、組み込み関数を削除します。

FUNC削除

  FUNC(Mマップ[タイプ]のType1、キータイプ)を削除

    内蔵の削除機能指定されたキーに基づいてマップから要素を削除します。mがゼロまたはそのような要素である場合、空で削除操作。

ケースプレゼンテーション:

FUNCのメイン(){

  都市:=作る(マップ[文字列]文字列)
  都市[ "NO1"] = "北京"
  都市[ "NO 2"] = "天津"
  都市[ "NO3"] = "上海"

  // NO3キーがすでに存在するため、次の文は、修正することであるので、
  都市の[「NO 3」] =「上海〜」
  fmt.Println(都市)

  (都市、「NO1」)を削除し
  fmt.Println(都市)
  //指定されたキーが存在しない削除すると、操作を削除しない、エラーがします
  (都市、「No4の」)を削除しない
  fmt.Println(都市)

}

詳細説明:

我々は、すべてのキーのマップを削除したい場合は1)、ない特別なメソッドを使用すると、1つずつ、キーについてトラバース削除することができ、削除します

スパムとして知られている元は、GCを再利用されるように、2)またはMAP = ...(作る)、新しいものを作ります。

FUNCメイン(){
  都市:=作る(地図[ストリング]列)
  都市[ "NO1"] = "北京"
  都市[ "NO 2"] = "天津"
  都市[ "NO 3"] = "上海"

  都市=作ります(地図[文字列]列)
  fmt.Println(都市)
}

マップを検索:

ケースプレゼンテーション:

FUNCメイン(){
  都市:=作る(地図[ストリング]列)
  都市[ "NO1"] = "北京"
  都市[ "NO 2"] = "天津"
  都市[ "NO 3"] = "上海"

  ヴァル、OK: =都市[ "NO 2"]
  もしOK {
    fmt.Printf( "有のNO2キー值为%のV"、ヴァル)
  }他{
    fmt.Printf( "没有NO2キーの\ n")
  }
}

コードの上記の説明:

このマップは、そうでない場合はfalse、[OK]をtrueを返し、都市「NO2」に存在する場合。

 

マップトラバーサル:

ケースプレゼンテーション比較的複雑なマップトラバーサルマップの値がマップで

説明:のトラバースのためのレンジ構造を使用してマップトラバーサル

ケースプレゼンテーション:

FUNCのメイン(){

  //ためレンジマップ横断使用
  都市:メイク(地図[文字列]文字列)=
  都市[「NO1」] =「北京」
  都市[「NO 2」] =「天津」
  都市[「NO 3」] =「上海」

  kについて、V:=範囲都市{
    fmt.Printf( "K =%VV =%Vを\ n"、K、V)
  }

  //のための範囲より複雑な構造の地図トラバース使用
  メイク(地図[文字列]マップ[文字列]文字列、10)=:studentMapを
  (3 ,.マップ[文字列]文字列)studentMap [ "stu01は"]メイクを=
  studentMap [ " stu01 "] ["名前"] ="トム"
  studentMap [" stu01 "] ["セックス"] ="男性"
  studentMap [" stu01 "] ["アドレス"] ="北京長安街」

  studentMap [ "stu02"] =作る (マップ[文字列]文字列を、3)// この文は小さくすることはできません
  studentMap [ "stu02"] [ "名前"] = "メアリー"
  studentMap [ "stu02"] [ "セックス"] = "女性"
  studentMap [ "stu02"] [ "アドレス"] = "北京東サブレ"

  K1ため、V1 =レンジstudentMap {
    fmt.Println( "K1 ="、K1)
    、K2のために、V2 =範囲V1 {
      fmt.Printf( "\性T K2 =容量%のV2 =%のVを\ n"、K2、 V2)
    }
    fmt.Println()
  }
}

 

マップの長さ:

FUNCのみ

  FUNCのみ(タイプで)INT

  V lenの組み込み関数は、特定のタイプに応じて、長さを返します。

  配列:要素のV数。
  配列ポインタ:* Vの要素(vはさえnilである)の数。
  又はマッピング部:Vの要素数; vはゼロ、lenがある場合(V)すなわち、ゼロ。
  文字列:バイトvの数。
  チャンネル:キューバッファ(未読)の要素のチャンネル番号; vはゼロ、lenがある場合(V)すなわち、ゼロ。


ケースプレゼンテーション:fmt.Println(LEN(stus))

FUNCのメイン(){

  //ためレンジマップ横断使用
  都市:メイク(地図[文字列]文字列)=
  都市[「NO1」] =「北京」
  都市[「NO 2」] =「天津」
  都市[「NO 3」] =「上海」

  fmt.Println( "都市有"、LEN(都市)、 "对キー値")

  //のための範囲より複雑な構造の地図トラバース使用
  メイク(地図[文字列]マップ[文字列]文字列、10)=:studentMapを
  (3 ,.マップ[文字列]文字列)studentMap [ "stu01は"]メイクを=
  studentMap [ " stu01 "] ["名前"] ="トム"
  studentMap [" stu01 "] ["セックス"] ="男性"
  studentMap [" stu01 "] ["アドレス"] ="北京長安街」

  studentMap [ "stu02"] =作る (マップ[文字列]文字列を、3)// この文は小さくすることはできません
  studentMap [ "stu02"] [ "名前"] = "メアリー"
  studentMap [ "stu02"] [ "セックス"] = "女性"
  studentMap [ "stu02"] [ "アドレス"] = "北京東サブレ"

  fmt.Println( "studentMap有"、lenの(studentMap)、 "对キー値")

}

 

おすすめ

転載: www.cnblogs.com/green-frog-2019/p/11403070.html