スライス内の要素を削除
この Go コードのスニペットは、スライスから要素を削除する方法を示しています。
func main() { a := []string{"Hello1", "Hello2", "Hello3"} fmt.Println(a) // [Hello1 Hello2 Hello3] a = append(a[:0], a[1:]...) fmt.Println(a) // [Hello2 Hello3] }
このコードは、append 関数を使用して要素を削除するトリックを示しています。これはどのように機能し、... (ドット ドット ドット) 演算子は何を行うのでしょうか?
スライス a からインデックス i の要素を削除するための構文説明:
a = append(a[:i], a[i+1:]...)
[:i]
は、スライスの先頭から空のスライスを作成します。 (含まれない) インデックス i.このトリックを使用すると、削除したい要素の前後の要素を含むスライスを再構成することで、スライスから要素を削除できます。スプレッド演算子は、スライスに追加し直す要素をアンパックする際に重要な役割を果たします。
以上がAppend and Spread 演算子を使用して Go スライスから要素を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。