ホームページ >バックエンド開発 >Golang >Go マップでスライスをキーとして使用するにはどうすればよいですか?

Go マップでスライスをキーとして使用するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-13 07:12:02517ブラウズ

How can I use slices as keys in a Go map?

スライスをマップ キーとして使用する

スライスの変更可能な性質のため、コンパイラはスライスを直接マップ キーとして使用することを禁止していますが、代替アプローチ使用することができます: スライスを配列として使用する前に、スライスを配列に変換します。 key.

例:

package main

import "fmt"

func main() {
    h := make(map[[2]string]string)
    h[[2]string{"a", "b"}] = "ab"

    fmt.Printf("%v", h)
}

この例では、キーが文字列の配列であるマップが作成されます。マップ キーの型は [2]string として明示的に定義されており、これは固定サイズ 2 の文字列の配列です。

説明:

配列なのでGo では不変であり、有効なマップ キーであるという要件に従います。これにより、スライスを固定サイズの配列に変換することで、スライスをキーとして効果的に使用できるようになります。配列は必要な不変性と一意性を提供し、信頼性と一貫性のあるマップ操作を保証します。

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

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