context.WithValue: 複数のキーと値のペアの追加
Go の context パッケージを使用すると、開発者はリクエスト固有のデータをリクエスト処理に渡すことができます。 context.WithValue() 関数を使用する関数。この関数は、指定されたキーと値のペアを使用して、親コンテキストのコピーである新しいコンテキストを作成します。
コンテキスト内の複数のキーと値のペア
時複数のキーと値のペアを扱う場合、いくつかのオプションがあります:
type Values struct { m map[string]string } func (v Values) Get(key string) string { return v.m[key] }
この構造体を使用すると、次のようにコンテキストに追加できます。
v := Values{map[string]string{ "1": "one", "2": "two", }} c := context.WithValue(c, "myvalues", v) fmt.Println(c.Value("myvalues").(Values).Get("2")) // Prints "two"
パフォーマンスに関する考慮事項
最適なアプローチは、特定のユースケースによって異なります:
コンテキストを覚えておいてください。コンテキストは不変であるため、新しいキーと値のペアを追加するたびに、新しいコンテキストが作成されます。アプローチを選択するときは、キーと値のペアの数とパフォーマンス要件を考慮してください。
以上がcontext.WithValue() を使用して複数のキーと値のペアを効率的に渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。