ホームページ >バックエンド開発 >Golang >なぜ golang のスライス.Delete() は次の要素をコピーするのでしょうか?

なぜ golang のスライス.Delete() は次の要素をコピーするのでしょうか?

PHPz
PHPz転載
2024-02-14 10:00:091273ブラウズ

なぜ golang のスライス.Delete() は次の要素をコピーするのでしょうか?

php エディター Zimo は、この記事で Golang のスライス.削除() 関数に関する質問について説明します: なぜ次の要素をコピーするのですか? Golang のスライスは強力なデータ構造ですが、slices.Delete() 関数は要素を削除するときに奇妙な動作を示します。この現象を分析し、考えられる説明と原因を示します。この問題をさらに深く掘り下げることで、Golang のスライスの内部動作と設計思想をより深く理解できるようになります。この記事を読むと、Golang のスライス操作にさらに詳しくなり、プログラミングの効率とコードの品質が向上します。

質問内容

サンプルコード:

リーリー

なぜ「水曜日」を受け取ったのかわかりません。 2要素のスライスを期待しています。

Solution

slices.delete 変更されたスライスを返します。これは次のように使用する必要があります:

リーリー

これは、削除操作によりスライス内の要素が移動され、より短いスライスが返されますが、元のスライス bar は変更されないためです。

以上がなぜ golang のスライス.Delete() は次の要素をコピーするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。