Go では、スライスを操作するのが一般的なタスクです。スライスは、動的な配列のようなインターフェイスを提供するデータ構造です。ただし、スライスは固定長ではないため、配列よりも効率的です。スライスから要素を削除するには、まず要素を見つけてから、スライス操作を使用してスライスを変更する必要があります。
スライス内の要素を見つけるには、ループを使用して各要素を要素と比較します。私たちは削除したいと思っています。見つかったら、次のようないくつかのスライス手法の 1 つを使用して削除できます:
a = append(a[:i], a[i+1:]...)
または:
a = a[:i+copy(a[i:], a[i+1:])]
完全な例は次のとおりです (Go Playground で入手可能)。
<code class="go">package main import "fmt" func main() { s := []string{"one", "two", "three"} // Find and remove "two" for i, v := range s { if v == "two" { s = append(s[:i], s[i+1:]...) break } } fmt.Println(s) // Prints [one three] }</code>
この操作をカプセル化する関数を作成することもできます。
<code class="go">package main import "fmt" func remove(s []string, r string) []string { for i, v := range s { if v == r { return append(s[:i], s[i+1:]...) } } return s } func main() { s := []string{"one", "two", "three"} s = remove(s, "two") fmt.Println(s) // Prints [one three] }</code>
これらのテクニックを理解することで、Go でスライスを効率的に操作し、必要に応じて要素を追加または削除できます。プログラム。
以上がGoでスライスから文字列を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。