golangマップの増加

WBOY
リリース: 2023-05-18 22:59:07
オリジナル
1512 人が閲覧しました

Golang は、大規模なデータの処理によく使われる非常に人気のあるプログラミング言語です。マップは、キーと値のペアを保存するために使用される効率的なデータ構造であり、高速な検索と取得を実現できます。マップの使用は非常に便利ですが、実際のアプリケーションでは、新しいキーと値のペアを追加する必要がある場合があります。では、新しいキーと値のペアを Golang マップに追加するにはどうすればよいでしょうか?この記事では3つの方法を紹介します。

方法 1: 直接割り当て

Golang では、新しいキーと値のペアをマップに追加する最も簡単な方法は、ターゲット キーに値を直接割り当てることです。これは、次のコードを使用して実現できます。

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    scores["Bob"] = 85
    
    fmt.Println(scores)
}
ログイン後にコピー

実行結果は次のとおりです。

map[Tom:90 Jerry:80 Alice:95]
map[Tom:90 Jerry:80 Alice:95 Bob:85]
ログイン後にコピー
ログイン後にコピー

上記のコードでは、最初に 3 つのキーと値のペアを含むマップを初期化します。次に、新しいキーに値を割り当てて、新しいキーと値のペアを追加します。最後に、元の 3 つのキーと値のペアと新しいキーと値のペアを含む完全な追加マップを出力します。

この方法は、マップに新しいキーと値のペアを追加するのに適しており、実際のニーズに応じてループ ステートメントを通じて複数のキーと値のペアをすばやく追加できます。ただし、割り当てたキーがマップ内にすでに存在する場合、その値は上書きされることに注意してください。

方法 2:map の update メソッドを使用する

Golang には、キーが存在するかどうかを確認し、新しいキーと値のペアを追加するために使用できる特別なメソッドもあります。このメソッドは、map の update メソッドを使用しており、実装コードは次のとおりです。

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    updateMap("Bob", 85, &scores)
    
    fmt.Println(scores)
}

func updateMap(key string, value int, scores *map[string]int) {
    if _, ok := (*scores)[key]; !ok {
        (*scores)[key] = value
    }
}
ログイン後にコピー

実行結果は次のとおりです。

map[Tom:90 Jerry:80 Alice:95]
map[Tom:90 Jerry:80 Alice:95 Bob:85]
ログイン後にコピー
ログイン後にコピー

上記のコードでは、updateMap 関数を定義しています。 key 、 value 、およびマップへのポインターの 3 つのパラメーターを受け入れます。関数内では、map の update メソッドを使用して、追加するキーが既に存在するかどうかを判断し、存在しない場合は新しいキーと値のペアを作成します。最後に、updateMap 関数を呼び出して、新しいキーと値のペアをマップに追加します。

この方法は最初の方法よりも若干複雑ですが、より柔軟です。これにより、既存のキーと値のペアの値を更新したり、新しいキーと値のペアの詳細を出力したりするなど、新しいキーの追加操作で追加の操作を実行できるようになります。

方法 3: マップの代入演算子を使用する

もう 1 つの方法は、Golang マップの代入演算子を使用することです。実装コードは次のとおりです:

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    scores = map[string]int{
        "Bob": 85,
    }
    
    fmt.Println(scores)
}
ログイン後にコピー

実行結果

map[Tom:90 Jerry:80 Alice:95]
map[Bob:85]
ログイン後にコピー

このメソッドでは、map の代入演算子を直接使用して、新しいキーと値のペアを追加します。この例では、まず make 関数を使用してマップを初期化し、次にマップ代入演算子を使用して新しいキーと値のペアをマップに追加します。最初の方法と同様に、このメソッドは、ループ内のバッチで新しいキーと値のペアを追加するために使用することもできます。

この方法は最初の 2 つの方法よりも簡単ですが、元のマップを新しいマップに置き換える場合にのみ適しています。新しいキーと値のペアを既存のマップに追加する必要がある場合でも、1 番目または 2 番目の方法を使用する必要があります。

要約すると、これら 3 つのメソッドによって実装される関数は、新しいキーと値のペアを Golang マップに追加することです。どの方法を選択するかは、特定のシナリオによって異なります。上記の内容がお役に立てば幸いです。

以上がgolangマップの増加の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!