ホームページ > バックエンド開発 > Golang > Pop() メソッドのオーバーライド

Pop() メソッドのオーバーライド

WBOY
リリース: 2024-02-10 17:18:07
転載
549 人が閲覧しました

重写 Pop() 方法

php Editor Banana は今日、Pop() メソッドを書き換える方法を紹介します。プログラミングでは、Pop() メソッドを使用して、配列の最後の要素を削除して返します。ただし、特定のニーズを満たすために Pop() メソッドをカスタマイズする必要がある場合があります。 Pop() メソッドをオーバーライドすることで、ロジックを追加したり、返された要素をコードに合わせて変更したりできます。この記事では、Pop() メソッドをオーバーライドする方法を詳しく紹介し、理解を助けるいくつかの例を示します。はじめましょう!

質問の内容

Go インストールでは、container/heap/example_pq_test.go に優先キューの例があります。 ファイル全体の内容を貼り付けて、pop() メソッドを実行できるようにします。

リーリー

次のような Pop() メソッドがある場合 (元のスライスのディープ コピーを作成しない)、それによってどのような害が生じる可能性がありますか、それとも誤りがあるでしょうか

リーリー

元の pop() メソッドだと思います。この行は old := *pq をスライスしてディープ コピーを作成します (新しい基になる配列を割り当てます)。これは本当ですか?

解決策

make関数によって作成されたオブジェクト (ここでは mapslice です) は、以下を指すことに似ています。データ自体ではなく、データの場所のポインターです。

とても古い := *pq は、データのコピーというよりも alias のように動作します。

以上がPop() メソッドのオーバーライドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート