ホームページ >バックエンド開発 >Golang >Go 言語でマッピング型を使用するにはどうすればよいですか?

Go 言語でマッピング型を使用するにはどうすればよいですか?

PHPz
PHPzオリジナル
2024-03-23 10:12:04655ブラウズ

Go 言語でマッピング型を使用するにはどうすればよいですか?

Go 言語でマッピング型を使用するにはどうすればよいですか?

Go 言語では、マップはキーと値のペアを格納するために使用される組み込みデータ構造です。マップを使用すると、他の言語の辞書やハッシュ テーブルと同様に、キーによって値を迅速に取得できます。この記事では、Go 言語のマップ型の基本概念と、マップを使用してデータを保存および取得する方法を紹介します。

マップの作成

マップを作成するには、Go 言語の make 関数を使用して空のマップを初期化し、キ​​ーと値のタイプを指定します。簡単な例を次に示します。

package main

import "fmt"

func main() {
    // 创建一个映射,键是字符串类型,值是整数类型
    m := make(map[string]int)
    
    // 添加键值对到映射中
    m["apple"] = 10
    m["banana"] = 5
    
    fmt.Println(m) // 输出map[apple:10 banana:5]
}

上の例では、キーのタイプが文字列、値のタイプが整数であるマップ m を作成しました。次に、2 セットのキーと値のペア、つまり apple:10banana:5 をマップに追加しました。最後に、fmt.Println 関数を使用してマップ全体を出力します。

マップ内の要素へのアクセスと変更

マップ内の要素にアクセスするには、キーによってマップにインデックスを付けることができます。キーが存在する場合は、対応する値が返され、キーが存在しない場合は、値型のゼロ値が返されます。例は次のとおりです:

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    m["banana"] = 5

    // 访问映射中的元素
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    fmt.Println("orange:", m["orange"]) // 输出:orange: 0
}

上記の例では、マップ内の apple キーと orange キーの値にアクセスします。 ; キーが存在しない場合は、値の型のゼロ値を出力します。

マップ内の要素を変更する必要がある場合は、キーを使用して要素を再割り当てするだけです。例は次のとおりです。

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    
    m["apple"] = 20 // 修改键值对
    fmt.Println("apple:", m["apple"]) // 输出:apple: 20
}

上記の例では、マップ内の apple キーの値を 10 から 20 に変更し、変更結果を出力します。

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

delete 関数を使用して、マップ内の要素を削除できます。例は次のとおりです。

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    fmt.Println("apple:", m["apple"]) // 输出:apple: 10
    
    delete(m, "apple") // 删除键值对
    fmt.Println("apple:", m["apple"]) // 输出:apple: 0
}

上記の例では、delete 関数を使用してマップ内の apple キーと値のペアを削除し、次にアクセスします。 appleKey は値型のゼロ値を返します。

マップを反復する

for range ステートメントを使用して、マップ内のキーと値のペアを反復できます。例は次のとおりです。

package main

import "fmt"

func main() {
    m := make(map[string]int)
    
    m["apple"] = 10
    m["banana"] = 5

    // 遍历映射
    for k, v := range m {
        fmt.Println(k, ":", v)
    }
}

上の例では、for range ステートメントを使用して、マッピング m 内のすべてのキーと値のペアを走査し、出力します。キーと値を順番に並べます。

注意事項

マッピングを使用するときは、次の点に注意する必要があります。

  1. マッピングは参照型であり、キーと値のペアへの参照を格納します。そのため、関数の呼び出し時にマップを渡してもコピーは生成されません。
  2. マップ内のキーは、基本型、ポインター型、配列型、構造体型などの比較可能な型である必要があります。
  3. マッピング内の値は、関数、スライス、マップなどを含む任意のタイプにすることができます。

概要: この記事では、Go 言語でマッピング タイプを作成、アクセス、変更、削除、反復する方法を紹介します。マッピングの基本操作と注意事項を紹介することで、読者は Go 言語のマッピング データ構造をよりよく理解し、使用できるようになります。この記事がお役に立てば幸いです。

以上がGo 言語でマッピング型を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。