golangマップの追加、削除、変更

王林
リリース: 2023-05-15 10:26:07
オリジナル
727 人が閲覧しました

Golang は非常に人気のあるプログラミング言語であり、Web 開発、システム プログラミング、ネットワーク プログラミング、その他の分野で広く使用されています。 golang では、マップは非常に一般的に使用されるデータ構造であり、キーと値のペアを簡単に追加、削除、変更できます。この記事では、地図データ構造の基本的な使い方と、地図の追加・削除・変更方法を紹介します。

1. マップ データ構造の基本的な使用法

map は、golang のキーと値のペアのデータ構造です。さまざまな種類のキーと値を格納できます。その使用法は、キーによって対応する値にアクセスするために使用できます。 golang では、make 関数を使用してマップ オブジェクトを作成できますが、その構文は次のとおりです:

m := make(map[keyType] valueType)
ログイン後にコピー

このうち、keyType はキーの種類、valueType は値の種類を表します。マップ オブジェクトを作成した後、キーを通じて対応する値を取得でき、len 関数を使用してマップ内の要素の数を取得できます。 Map には、指定したキーと値のペアを削除する削除関数や、マップ内のすべての要素を走査する範囲関数など、一連の組み込み関数も用意されています。

以下は、map の基本的な使用法を示す簡単なサンプル コードです。

package main

import "fmt"

func main() {

// 创建map对象
var m map[string]int
fmt.Println(m) // 输出空map对象

// 使用make函数创建map对象
m = make(map[string]int)
fmt.Println(m) // 输出空map对象

// 添加键值对
m["one"] = 1
m["two"] = 2
m["three"] = 3
fmt.Println(m)          // 输出{"one": 1, "two": 2, "three": 3}
fmt.Println(len(m))     // 输出3
fmt.Println(m["three"]) // 输出3

// 删除键值对
delete(m, "two")
fmt.Println(m)      // 输出{"one": 1, "three": 3}
fmt.Println(len(m)) // 输出2

// 遍历map
for k, v := range m {
    fmt.Println(k, v)
}
ログイン後にコピー

}

2. マップの追加、削除、および変更操作

  1. キーと値のペアをマップに追加します

golang の場合、キーと値のペアをマップに追加します 新しいキーと値のペアの追加は非常に簡単で、添え字演算子 [] を使用するだけです。キーが存在しない場合は、新しいキーと値のペアが作成され、キーがすでに存在する場合は、元の値が上書きされます。サンプルコードは次のとおりです:

m := make(map[string]int)
m["one"] = 1
m["two"] = 2
m[ "three"] = 3

このコードは空のマップ オブジェクトを作成し、それに 3 つのキーと値のペアを追加します。複数のキーと値のペアをマップに追加する場合は、ループ ステートメントを使用してこれを実現できます。

  1. マップはキーと値のペアを削除します

マップ内のキーと値のペアを削除するには、golang が提供する組み込み関数 delete を使用できます。 delete 関数は 2 つのパラメーターを渡す必要があります。最初のパラメーターは削除するマップ オブジェクトを表し、2 番目のパラメーターは削除するキーを表します。キーが存在する場合は、対応する値が削除され、キーが存在しない場合、関数は何も行いません。

以下はサンプル コードです:

m := make(map[string]int)
m["one"] = 1
m["two"] = 2
m["three"] = 3

delete(m, "two") // キー「two」を持つキーと値のペアを削除します

  1. map変更キー値ペア

マップ内のキーと値のペアを変更することも非常に簡単で、添字演算子 [] を使用するだけで済みます。キーが存在しない場合は、新しいキーと値のペアが作成され、キーがすでに存在する場合は、元の値が上書きされます。サンプルコードは次のとおりです:

m := make(map[string]int)
m["one"] = 1

m["one"] = 10 //キーの値を「1」から 10 に変更します

    #マップ内の値を安全に取得します
マップ内の値を取得するときに、対応するキーが存在しない場合、マップはその値タイプのゼロ値を返すため、問題が発生する可能性があります。これを回避するには、ok-idiom を使用してチェックします。 ok-idiom は、マップ内の値を取得するときに、最初に bool 型変数を使用してキーが存在するかどうかを受け取り、次に bool 値を使用して値が安全に取得できるかどうかを判断することを意味します。サンプルコードは次のとおりです:

m := make(map[string]int)

m["one"] = 1

if val, ok := m["two "]; ok {

fmt.Println(val)
ログイン後にコピー

} else {

fmt.Println("key not exist")
ログイン後にコピー
}

上記のコードでは、まずキー「two」で値を取得しようとします。存在しない場合は「キーが存在しません」と出力されます。 ok-idiom を使用すると、map の使用時に存在しないキーに遭遇することによって引き起こされる潜在的なバグを回避できます。

概要

この記事では、golang における地図データ構造の基本的な使い方と、地図の追加、削除、変更方法を紹介します。 golang プログラマーにとって、map の基本的な使い方をマスターすることは非常に重要であり、実際の開発でも頻繁に使用されます。マップを使用する場合、プログラムが正常に動作するためには、ヌルポインタ例外などの問題を回避するように注意する必要があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート