オブジェクトは Go メモリに「固定」できますか?
C# では、オブジェクトはメモリ内の一定の位置を維持するために「固定」されます。 Go にも同様のメカニズムはありますか?
答え:
Go では、参照されるオブジェクト アドレスは本質的に永続的です。
次のような言語とは異なります。 C、Go はハンドルや間接指定を使用せずにオブジェクトを直接参照します。オブジェクトが変数に代入されると、そのアドレスは不変のままになります。
Go ドキュメントに記載されているように:
「C とは異なり、オブジェクトのアドレスを返すのはまったく問題ありません。」ローカル変数。変数に関連付けられたストレージは、関数が戻った後も存続します。"
オブジェクトのアドレスを取得するには、& 演算子を使用します。アドレスを取得したら、それを変数に割り当てるか、引数として渡すことができます。
この永続的なアドレス メカニズムにより、Go コードで参照されるオブジェクトが「固定」と同様に、固定のメモリ位置に保持されます。他の言語でも。
以上がC# のように、Go オブジェクトを特定のメモリの場所に「固定」できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。