Maison  >  Article  >  développement back-end  >  tableau golang supprimer

tableau golang supprimer

WBOY
WBOYoriginal
2023-05-19 09:01:361186parcourir

Golang est un langage fortement typé et ses tableaux sont de longueur fixe, ce qui signifie que la longueur du tableau doit être spécifiée lors de sa déclaration et que la longueur du tableau ne peut pas être modifiée lors d'une utilisation ultérieure. Cela peut être très gênant dans certains scénarios. Par exemple, nous devons supprimer un élément d'un tableau, mais nous devons nous assurer que la longueur du tableau reste inchangée.

Dans ce cas, nous pouvons utiliser certaines techniques pour réaliser l'opération de suppression d'éléments du tableau. Cet article présentera deux techniques courantes de suppression de tableaux Golang.

1. Utilisez l'opération d'interception de tranche pour supprimer des éléments

Slice est un type de référence, qui peut contenir tout type d'éléments et peut croître et rétrécir dynamiquement. Grâce à l'opération d'interception de découpage, nous pouvons facilement supprimer des éléments dans un tableau Golang. Les étapes spécifiques de l'opération sont les suivantes :

  1. Définir un tableau Golang
arr := [5]int{1, 2, 3, 4, 5}
. # 🎜🎜#
    Définir l'indice d'un élément à supprimer
  1. index := 2
    Utiliser l'opération d'interception par découpage pour supprimer l'élément avec l'indice spécifié#🎜🎜 ##🎜🎜 #
    arr = append(arr[:index], arr[index+1:]...)
  1. Dans cet exemple, nous définissons d'abord un tableau Golang arr contenant 5 éléments. Ensuite, nous avons défini l'indice d'indice de l'élément à supprimer. Ici, nous avons sélectionné le troisième élément à supprimer. Ensuite, nous utilisons l'opération d'interception par découpage pour intercepter le tableau d'origine en deux nouveaux tableaux et les fusionner dans un nouveau tableau arr. À ce stade, le troisième élément a été supprimé.
Le code complet est le suivant :

package main

import "fmt"

func main() {
    arr := [5]int{1, 2, 3, 4, 5}
    index := 2
    arr = append(arr[:index], arr[index+1:]...)
    fmt.Println(arr)
}

Le résultat de l'exécution est :

[1 2 4 5]

Nous pouvons voir que le troisième élément a été supprimé avec succès.

2. Utilisez l'opération d'inversion de tranche pour supprimer des éléments

En plus d'utiliser l'opération d'interception de tranche, nous pouvons également supprimer des éléments du tableau Golang via l'opération d'inversion de tranche. Les étapes spécifiques sont les suivantes :

Définir un tableau Golang

    arr := [5]int{1, 2, 3, 4, 5}
  1. Définir un indice de l'élément à supprimer# 🎜 🎜#
index := 2
  1. Inverser le tableau
for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
    arr[i], arr[j] = arr[j], arr[i]
}
  1. Utilisez l'opération d'interception de tranche pour supprimer l'élément avec l'indice spécifié# 🎜🎜#
  2. arr = arr[:len(arr)-1]
    Inversez à nouveau le tableau
  1. for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
        arr[i], arr[j] = arr[j], arr[i]
    }
Il est à noter ici qu'aux étapes 3 et 5, nous avons utilisé Golang Le multiple L'instruction d'affectation dans peut échanger les valeurs de deux variables à la fois. Si nous utilisons directement arr[i] et arr[j] pour échanger leurs valeurs, le code sera plus encombrant.
  1. Le code complet est le suivant :
  2. package main
    
    import "fmt"
    
    func main() {
        arr := [5]int{1, 2, 3, 4, 5}
        index := 2
        for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
            arr[i], arr[j] = arr[j], arr[i]
        }
        arr = arr[:len(arr)-1]
        for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
            arr[i], arr[j] = arr[j], arr[i]
        }
        fmt.Println(arr)
    }
Le résultat de l'exécution est :

[1 2 4 5]

On peut également voir que le troisième élément a été supprimé avec succès .

Résumé

Grâce à cet article, nous avons appris que même si les tableaux Golang sont de longueur fixe, nous pouvons toujours utiliser certaines techniques pour réaliser des opérations de suppression d'éléments, comme l'utilisation d'opérations d'interception de tranches. et des opérations d'inversion de tranche. Cependant, il convient de noter que puisque la longueur du tableau est fixe, ces opérations généreront une surcharge supplémentaire, donc les opérations de suppression fréquentes doivent être évitées en utilisation réelle pour garantir les performances du programme.

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
Article précédent:aix installer golangArticle suivant:aix installer golang