Maison  >  Article  >  développement back-end  >  Résumer les deux méthodes de suppression d'éléments de tranche dans Golang

Résumer les deux méthodes de suppression d'éléments de tranche dans Golang

PHPz
PHPzoriginal
2023-03-30 13:35:242562parcourir

Dans Golang, nous pouvons utiliser les fonctions intégrées d'ajout et de copie pour supprimer des éléments d'une tranche. Ces deux fonctions sont des parties importantes de l'opération de tranche. Deux méthodes de suppression d'éléments de tranche à l'aide de l'ajout et de la copie seront présentées ci-dessous.

Méthode 1 : Utilisez la fonction append pour supprimer des éléments de tranche

La fonction append a deux paramètres. Le premier représente la tranche sur laquelle opérer et le second est l'index de l'élément à supprimer. Les éléments peuvent être supprimés en créant une nouvelle tranche et en ajoutant tous les éléments à l'exception de l'élément que vous souhaitez supprimer dans la nouvelle tranche. Voici un exemple de code pour implémenter la suppression des éléments slice :

func removeIndex(s []int, index int) []int {
    return append(s[:index], s[index+1:]...)
}

L'exemple de code pour utiliser cette fonction pour supprimer un élément slice est le suivant :

func main() {
    s := []int{1, 2, 3, 4, 5}
    s = removeIndex(s, 2)
    fmt.Println(s) // 输出 [1 2 4 5]
}

Dans cet exemple, l'index de l'élément à supprimer est 2 , donc la fonction removeIndex est appelée, en passant à l'élément à supprimer l'index et la tranche sur laquelle opérer. Cette fonction renvoie une nouvelle tranche contenant tous les éléments après l'élément supprimé.

Méthode 2 : Utilisez la fonction de copie pour supprimer des éléments de tranche

Vous pouvez également supprimer des éléments en utilisant la fonction de copie pour déplacer les éléments de la tranche vers la gauche. Cette méthode déplace tous les éléments après l'élément à supprimer d'une position vers la gauche, couvrant l'élément à supprimer.

func removeIndex2(s []int, index int) []int {
    copy(s[index:], s[index+1:])
    return s[:len(s)-1]
}

Un exemple de code pour utiliser cette fonction pour supprimer des éléments de tranche est le suivant :

func main() {
    s := []int{1, 2, 3, 4, 5}
    s = removeIndex2(s, 2)
    fmt.Println(s) // 输出 [1 2 4 5]
}

Similaire à l'exemple de code ci-dessus, appelez la fonction removeIndex2, en passant l'index à supprimer et la tranche sur laquelle opérer. Cette fonction renvoie une nouvelle tranche contenant tous les éléments après l'élément supprimé.

Résumé

La suppression d'éléments de tranche à l'aide des fonctions d'ajout et de copie intégrées sont deux façons courantes de supprimer des éléments dans Golang. Quelle que soit la méthode que vous utilisez, vous devez supprimer l'élément en créant une nouvelle tranche et ajouter tous les éléments à l'exception de l'élément que vous souhaitez supprimer dans la nouvelle tranche. Veillez également à réduire la longueur de la tranche de un lorsque vous utilisez la fonction de copie pour éviter les erreurs d'index hors limites.

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!

Déclaration:
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