golang マップの要素を削除する

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

Golang は、型付けが強く静的にコンパイルされる言語であり、開発効率が比較的高い言語でもあります。開発では、コレクション データ構造が必要になることが多く、golang のマップは強力なコレクション データ構造です。マップにはキーと値のペアのセットが保存され、キーを介して対応する値を迅速に見つけることができます。マップを使用していると、要素を削除する必要がある場合があります。次に、golang でマップ要素を削除する方法について説明します。

golang のマップ

golang のマップは、他の言語の辞書やハッシュ テーブルに似た参照型であり、キーと値のペアのセットが格納されます。一意で反復不可能ですが、値は反復可能です。 golangのmapのデータ構造の最下層はハッシュテーブルです。 Map を使用する場合は、次の点に注意する必要があります。

  1. map は参照型であるため、make 関数を使用して作成する必要があります。
  2. map は、for-range 構文を使用して反復できます。
  3. マップのキーには、整数、文字列、構造体など、等しいかどうかを比較できる任意のタイプを使用できます。
  4. マップには順序がありません。各トラバースの順序は異なる場合があります。

golang でマップ要素を削除する方法

golang では、delete() 関数を使用してマップ要素を削除できます。 delete()関数の構文形式は以下のとおりです。

delete(map, key)
ログイン後にコピー

このうち、mapは操作対象のマップ、keyは削除対象のキーを表します。削除関数を使用するときは、次の点に注意する必要があります。

  1. 存在しないキーと値のペアを削除しても、エラーは報告されません。
  2. 存在しないキーと値のペアを誤って削除しても、プログラムがクラッシュすることはありません。
  3. 複数のゴルーチンが同時にマップを操作する場合、競合を避けるためにロックが必要です。
  4. 多数のキーと値のペアが削除されると、マップのハッシュ テーブルが再ハッシュされ、パフォーマンスに影響を与える可能性があります。

golang でマップ要素を削除するためのサンプル コード

サンプル コードを使用して、golang でマップ要素を削除する方法について詳しく学習してみましょう。

package main

import (
    "fmt"
)

func main() {
    // 创建一个map
    testMap := make(map[string]int)

    testMap["apple"] = 1
    testMap["banana"] = 2
    testMap["orange"] = 3

    // 删除map中的某个元素
    delete(testMap, "apple")

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

出力結果は次のとおりです。

banana 2
orange 3
ログイン後にコピー

上記のコード例では、testMap という名前のマップを作成し、それに 3 つのキーと値のペアを追加しました。次に、delete() 関数を使用して、キー「apple」を持つ要素を testMap から削除します。最後に、for-range 構文を使用して testMap を走査し、マップ内の残りの要素を出力します。出力からわかるように、キー「apple」を持つ要素は正常に削除されました。

マップ要素の削除に関しては、delete() 関数を使用することに加えて、削除する必要があるキーに対応する値を特定のゼロ値に設定することもできます ( 0、" "、nil など)。ただし、このメソッドは値が基本型の場合にのみ適用され、値が複合型 (ポインター、構造体など) の場合は、delete() を使用する必要があります。それを取り除く機能です。

概要

golang のマップは、一連のキーと値のペアを格納するために使用できる強力なコレクション データ構造です。マップを使用する場合、要素を削除する必要がある場合がありますが、この場合は delete() 関数を使用して完了できます。複数のゴルーチンが同時にマップを操作する場合、競合を避けるためにロックが必要になることに注意してください。同時に、要素を頻繁に削除する必要がある場合は、マップの代わりに他のデータ構造を使用することをお勧めします。

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

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