Maison > développement back-end > Golang > Comment supprimer une chaîne d'une tranche dans Go ?

Comment supprimer une chaîne d'une tranche dans Go ?

Barbara Streisand
Libérer: 2024-11-02 10:20:03
original
708 Les gens l'ont consulté

How to Remove a String from a Slice in Go?

Supprimer une chaîne d'une tranche dans Go

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:]...)
Copier après la connexion

ou :

a = a[:i+copy(a[i:], a[i+1:])]
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal