Maison > développement back-end > Golang > Comment supprimer efficacement des éléments d'une tranche Go à l'aide d'Append ?

Comment supprimer efficacement des éléments d'une tranche Go à l'aide d'Append ?

Linda Hamilton
Libérer: 2024-12-28 18:11:09
original
321 Les gens l'ont consulté

How to Efficiently Delete Elements from a Go Slice Using Append?

Suppression d'éléments dans une tranche

Le langage de programmation Go offre un moyen pratique de supprimer des éléments d'une tranche à l'aide de la fonction d'ajout. Cette technique consiste à construire une nouvelle tranche en combinant certains segments de la tranche d'origine.

Comment ça marche

Considérez l'extrait de code suivant :

func main() {
    a := []string{"Hello1", "Hello2", "Hello3"}
    fmt.Println(a) // [Hello1 Hello2 Hello3]
    a = append(a[:0], a[1:]...)
    fmt.Println(a) // [Hello2 Hello3]
}
Copier après la connexion

Étape 1 : Diviser la tranche

La première étape consiste à diviser la tranche en deux segments :

  • a[:0] représente un segment vide depuis le début de la tranche jusqu'au premier élément.
  • a[1:] représente les éléments restants après le premier élément.

Étape 2 : Reconstruire la tranche

La fonction d'ajout est alors utilisé pour construire une nouvelle tranche en concaténant les deux segments :

  • append(a[:0], ...) prend le segment vide comme premier argument et ajoute les éléments restants comme arguments variadiques.
  • Les points de suspension (...) dans a[1:]... décompresse la tranche en sections séparées arguments.

Résultat

La tranche résultante, stockée dans a, contient désormais les éléments à partir de la position 1, supprimant ainsi le premier élément.

Arguments variadiques

Arguments variadiques, désignés par points de suspension, sont utilisés dans les définitions de fonctions pour accepter un nombre arbitraire d'arguments du même type. Lors de l'appel d'une fonction avec des arguments variadiques, l'opérateur ... décompresse une tranche en arguments individuels.

Dans ce cas, les arguments variadiques décompressent la tranche a[1:] en chaînes individuelles.

En combinant le découpage sélectif et les arguments variadiques, cette astuce de code fournit un moyen concis et efficace de supprimer des éléments d'une tranche dans Go.

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