php editor Banana は、既知の型をスイッチの型パラメータへのポインタに変換する方法を紹介します。プログラミングでは、プログラム内でより柔軟な操作を行うために、既知の型の変数をポインターに変換する必要がある場合があります。この変換は、「&」演算子を使用して実現できます。変数名の前に「&」演算子を付けて、変数へのポインタに変換します。このようにして、変数を単に代入したり読み取ったりするのではなく、プログラム内でポインタを使用して変数を操作することができます。次に、この型変換を実行する方法を詳しく紹介し、誰もがよりよく理解できるようにサンプル コードを提供します。
戻り値のtypeパラメータに基づいて、json文字列のバイト配列を別のバイト配列に変換する関数を書こうとしていますが、ルールは次のとおりです:
私のコードは次のとおりです:
リーリーこのコードは、以下に示すように、jsonbytearray の型 を t に変換するときに type エラー を生成します。 リーリー
この[]byte 型変数のポインタをジェネリック型の戻り値に割り当てるにはどうすればよいですか?
解決策t は
any によって制約されているため、直接変換することはできません。このスイッチの場合、
assert &jsonbytearray は実際には
*t と同じ型である必要があります:
リーリー
json.unmarshal を 1 つの型 (
*[]byte) に対して特に使用する必要がある場合は、汎用関数を使用する代わりに呼び出しサイトを変更することをお勧めします。
として呼び出すことができます。 リーリー
これは、この時点で jsonbytearray がバイト スライスであることがすでにわかっていることを意味します。
したがって、この関数を呼び出す理由はありません。パラメータのアドレスを取得するだけです:
、他の場所で json.unmarshal
を使用します。
以上が既知の型をスイッチの型パラメータへのポインタに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。