Dans Go, travailler avec des tranches est une tâche courante. Une tranche est une structure de données qui fournit une interface dynamique de type tableau ; cependant, les tranches sont plus efficaces que les tableaux car elles n'ont pas de longueur fixe. Pour supprimer un élément d'une tranche, nous devons d'abord le localiser, puis utiliser des opérations de tranche pour modifier la tranche.
Pour localiser un élément dans une tranche, nous pouvons utiliser une boucle et comparer chaque élément à celui nous voulons supprimer. Une fois trouvé, nous pouvons utiliser l'une des nombreuses techniques de slice pour le supprimer, telles que :
a = append(a[:i], a[i+1:]...)
ou :
a = a[:i+copy(a[i:], a[i+1:])]
Voici un exemple complet (disponible sur 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>
Nous pouvons également créer une fonction pour encapsuler cette opération :
<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>
En comprenant ces techniques, nous pouvons manipuler efficacement des tranches dans Go, en ajoutant ou en supprimant des éléments selon les besoins dans notre programmes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!