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

tableau golang supprimer

WBOY
Libérer: 2023-05-19 09:01:36
original
1222 Les gens l'ont consulté

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}
Copier après la connexion
Copier après la connexion
. # 🎜🎜#
    Définir l'indice d'un élément à supprimer
  1. index := 2
    Copier après la connexion
    Copier après la connexion
    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:]...)
    Copier après la connexion
  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)
}
Copier après la connexion

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

[1 2 4 5]
Copier après la connexion
Copier après la connexion

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}
    Copier après la connexion
    Copier après la connexion
  1. Définir un indice de l'élément à supprimer# 🎜 🎜#
index := 2
Copier après la connexion
Copier après la connexion
  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]
}
Copier après la connexion
Copier après la connexion
  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]
    Copier après la connexion
    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]
    }
    Copier après la connexion
    Copier après la connexion
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)
    }
    Copier après la connexion
Le résultat de l'exécution est :

[1 2 4 5]
Copier après la connexion
Copier après la connexion
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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal