php エディタ Xiaoxin は、フォルダー操作に関するちょっとしたトリック、つまり空のフォルダーのみを含むフォルダーをツリーから削除する方法を紹介します。日常のファイル管理では、空のフォルダーのみが含まれるフォルダーが発生することがあります。これらのフォルダーはストレージ領域を占有しますが、実際のコンテンツは含まれていません。次の簡単な操作により、これらの空のフォルダーを簡単にクリアし、貴重なストレージ領域を解放し、ファイル管理の効率を向上させることができます。
あります
リーリーこのスライスをモデルにしたディレクトリ構造があります。このディレクトリには複数のレベルのフォルダー構造があり、最終的にはファイルが存在しない可能性があります。またね### リーリー
空のフォルダーのみを含むフォルダーをクリーンアップしたいと考えています。したがって、この例では、folder1 には 1 つのファイルだけが残り、それ以下のファイルはすべて削除されます。 しかし、これを行うための良いアイデアが思いつかないようです。元のツリーを変更せずに新しいツリーを完全に作成することはできますが、ツリーを効率的に反復処理して最後の子に子がないかどうかを確認し、ルートに戻ってその子を削除する方法がわかりません。空のフォルダーリスト。 あらゆるアイデアを歓迎します。私の最初の解決策では、リーフのみが削除され、親フォルダーは削除されません:
type node struct { id string children []node }
ディレクトリ構造
ディレクトリを入力してください
リーリー
期待される結果
リーリー
n-ary ツリーにデータを設定する方法では、自己参照ポインターを使用して
node を定義する必要があります。正確なスライスではありません。したがって、次のようにノードを定義します
リーリー
リーリー
ツリーにデータを追加する方法queue 入力
n 分ツリー を使用した単純な反復方法です。 Golang はキューの実装を提供しませんが、Golang チャネルは実際には単なるキューです。 golang では動的なバッファリングされたチャネルを作成できないため、
500 のままにしました。私見ですが、この数値はほぼすべてのシナリオで機能するはずです。
リーリー
リーリー
最後に解決策です。リーリー
ここに
リーリー以上が空のフォルダーのみを含むフォルダーをツリーからクリアしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。