スライスをマップ キーとして使用する
スライスの変更可能な性質のため、コンパイラはスライスを直接マップ キーとして使用することを禁止していますが、代替アプローチ使用することができます: スライスを配列として使用する前に、スライスを配列に変換します。 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 サイトの他の関連記事を参照してください。