php Editor Banana は今日、Pop() メソッドを書き換える方法を紹介します。プログラミングでは、Pop() メソッドを使用して、配列の最後の要素を削除して返します。ただし、特定のニーズを満たすために Pop() メソッドをカスタマイズする必要がある場合があります。 Pop() メソッドをオーバーライドすることで、ロジックを追加したり、返された要素をコードに合わせて変更したりできます。この記事では、Pop() メソッドをオーバーライドする方法を詳しく紹介し、理解を助けるいくつかの例を示します。はじめましょう!
Go インストールでは、container/heap/example_pq_test.go
に優先キューの例があります。
ファイル全体の内容を貼り付けて、pop() メソッドを実行できるようにします。
次のような Pop() メソッドがある場合 (元のスライスのディープ コピーを作成しない)、それによってどのような害が生じる可能性がありますか、それとも誤りがあるでしょうか
リーリー 元の pop()
メソッドだと思います。この行は old := *pq
をスライスしてディープ コピーを作成します (新しい基になる配列を割り当てます)。これは本当ですか?
make
関数によって作成されたオブジェクト (ここでは map
と slice
です) は、以下を指すことに似ています。データ自体ではなく、データの場所のポインターです。
とても古い := *pq
は、データのコピーというよりも alias のように動作します。
以上がPop() メソッドのオーバーライドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。