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 :
- 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 à supprimerindex := 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
- 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
Définir un indice de l'élément à supprimer# 🎜 🎜#
index := 2
Copier après la connexion
Copier après la connexion
- 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
- Utilisez l'opération d'interception de tranche pour supprimer l'élément avec l'indice spécifié# 🎜🎜#
arr = arr[:len(arr)-1]
Copier après la connexion
Inversez à nouveau le tableaufor 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.
- Le code complet est le suivant :
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!