Golang マップをすべて削除

WBOY
リリース: 2023-05-10 09:23:36
オリジナル
629 人が閲覧しました

Golang では、マップは、キーと値のペアのデータを簡単に保存してアクセスできる、非常に一般的に使用されるデータ構造です。マップを使用していると、キーと値のペアのデータをすべて削除する必要がある場合がありますが、この記事では、golang マップのデータをすべて削除する方法を紹介します。

Golang Map の概要

Map は Golang のコレクション型で、キーと値のペアのデータを格納するために使用されます。マップ内の各要素はキーと値のペアであり、キーは一意の識別子、値は任意のタイプのデータです。マップ内の要素には順序がないため、添字を使用してマップ内の要素にアクセスすることはできません。

Golang マップの宣言

Golang では、次の方法でマップを宣言できます:

// 声明一个键为string类型,值为任意类型的map
var myMap map[string]interface{}

// 声明一个键为int类型,值为string类型的map
var myMap map[int]string
ログイン後にコピー

ご覧のとおり、キーと値の型を指定する必要があります。マップを宣言するとき。もちろん、make() 関数を使用してマップを初期化することもできます。

// 声明一个键为string类型,值为任意类型的map
myMap := make(map[string]interface{})

// 声明一个键为int类型,值为string类型的map
myMap := make(map[int]string)
ログイン後にコピー

マップ内の要素を追加/変更する

マップ内の要素を追加/変更する方法も非常に簡単です。単純に、Map は代入操作を直接実行できます。

// 声明并初始化一个map
myMap := make(map[string]string)

// 添加元素
myMap["key1"] = "value1"

// 修改元素
myMap["key1"] = "newValue"
ログイン後にコピー

マップ内の要素を削除

Golang では、delete() 関数を使用して、マップで指定されたキーと値のペアを削除できます

// 声明并初始化一个map
myMap := make(map[string]string)

// 添加元素
myMap["key1"] = "value1"

// 删除元素
delete(myMap, "key1")
ログイン後にコピー

マップのすべての要素を削除します。

マップのすべての要素を削除する必要がある場合は、次の 2 つの方法を使用できます。

方法 1: ループ削除

この方法はより簡単です。for ループを使用してマップ内のすべての要素を反復処理し、delete() 関数を使用して要素を削除できます。

// 声明并初始化一个map
myMap := make(map[string]string)

// 添加元素
myMap["key1"] = "value1"
myMap["key2"] = "value2"

// 使用for循环删除
for key := range myMap {
    delete(myMap, key)
}
ログイン後にコピー

for ループを使用してマップを走査する場合、添字は使用できず、走査には range キーワードのみを使用できることに注意してください。そうしないとパニックが発生します。

方法 2: make() 関数を使用してマップを再作成する

この方法は比較的単純で、make() 関数を使用して空のマップを再作成するだけです。

// 声明并初始化一个map
myMap := make(map[string]string)

// 添加元素
myMap["key1"] = "value1"
myMap["key2"] = "value2"

// 使用make()函数新建一个map
myMap = make(map[string]string)
ログイン後にコピー

この方法は比較的単純ですが、新しいマップの作成時にメモリ領域を再割り当てする必要があり、プログラムのパフォーマンスに影響を与える可能性があるため、大規模なマップには適していません。

概要

Golang マップは、キーと値のペアのデータを簡単に保存してアクセスできる、非常に一般的に使用されるデータ構造です。マップを使用する場合、頻繁にマップ要素をクリアする必要がありますが、この記事では、マップ要素をクリアする 2 つの方法 (ループ削除と空のマップの再作成) を紹介します。実際の状況に応じてさまざまな方法を選択する必要があります。

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

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