Go/clear
表示
< Go
Goのclear関数は、Go 1.21で導入された事前宣言された組み込み関数で、スライス、マップ、型パラメータの要素を削除するために使用されます。
構文
[編集]func clear[T ~[]E | ~map[K]V, E any, K comparable, V any](t T)
動作の詳細
[編集]- スライスの場合:
- マップの場合:
- すべてのキー・バリューペアを削除
- マップのサイズは0になる
makeで確保された容量は保持される
- 型パラメータの場合:
- ジェネリック型でスライスまたはマップに制約された型でも使用可能
他のキーワード・関数との重要な違い
[編集]deleteとの違い:deleteは1つのキーを削除、clearは全要素を削除appendとの関係:clear後もappendは正常に動作makeとの関係:makeで作成した容量は保持されるcopyとの組み合わせ: クリア後のスライスにコピー可能
主要なユースケース
[編集]- メモリリーク防止: 大きなオブジェクトを含むスライスを再利用する際
- オブジェクトプール: プールされたオブジェクトのリセット
- 一時的なコレクション: 処理の合間でコレクションをクリア
- ジェネリック関数: 型パラメータを使った汎用的なクリア処理
パフォーマンスへの影響
[編集]- メモリ効率: ガベージコレクションの負荷を軽減
- 再利用: スライスやマップの容量を保持したまま再利用可能
- CPU効率: ループでの個別削除より高速