Préface
En Golang, slice (slice) est un tableau dynamique qui peut augmenter ou diminuer sa longueur à volonté, ce qui est très flexible. Lorsque vous utilisez slice, vous devez parfois supprimer un élément d'un tableau dynamique pour répondre à vos propres besoins. Cet article présentera comment implémenter la suppression de tranches via les fonctions intégrées de Golang et la méthode de création de nouvelles tranches.
1. Implémentez la suppression de tranche via les fonctions intégrées
Dans la bibliothèque de fonctions intégrée de Golang, il existe une fonction appelée « append », qui peut être utilisée pour développer dynamiquement la longueur des tranches et ajoutez l'élément à la fin. Par conséquent, nous pouvons utiliser cette fonction en combinaison avec des indices pour implémenter la suppression de tranches. Les étapes spécifiques sont les suivantes :
Supposons que nous définissions une tranche entière nommée "nombres" :
numbers := []int{1, 2, 3, 4, 5}
Selon les caractéristiques de slice, nous pouvons en supprimer un élément via un indice. Par exemple, si nous voulons supprimer l'élément d'index 2 dans la tranche (c'est-à-dire le numéro 3), nous pouvons définir une variable nommée "index" et lui attribuer une valeur de 2 :
index := 2
Ensuite, nous pouvons utiliser la fonction append pour séparer les éléments avant l'index et les éléments après l'index dans la tranche pour réaliser l'opération de suppression . Le code spécifique est le suivant :
numbers = append(numbers[:index], numbers[index+1:]...)
Dans ce code, ":index" signifie intercepter depuis la position de départ de la tranche jusqu'à la position d'index-1 (soit 0~1), "index+ 1 : " signifie l'interception depuis la position index+1 jusqu'à la fin de la tranche (c'est-à-dire 3~4). Utilisez trois points "..." pour concaténer deux tranches en une nouvelle tranche.
Le code complet est le suivant :
package main import ( "fmt" ) func main() { // 定义 slice numbers := []int{1, 2, 3, 4, 5} // 定义下标 index := 2 // 使用 append 函数删除元素 numbers = append(numbers[:index], numbers[index+1:]...) fmt.Println(numbers) // [1 2 4 5] }
2. Implémentez la suppression de tranche en créant une nouvelle tranche
En plus d'utiliser la fonction d'ajout et indice pour réaliser la suppression de tranche De plus, nous pouvons également obtenir une nouvelle tranche en créant une nouvelle tranche vide et en y ajoutant les éléments à conserver. Les étapes spécifiques sont les suivantes :
Supposons de la même manière que nous définissons une tranche entière nommée "nombres" : #🎜🎜 #
numbers := []int{1, 2, 3, 4, 5}
index := 2
newNumbers := make([]int, 0)
for i := 0; i < len(numbers); i++ { if i != index { newNumbers = append(newNumbers, numbers[i]) } }
package main import ( "fmt" ) func main() { // 定义 slice numbers := []int{1, 2, 3, 4, 5} // 定义下标 index := 2 // 新建一个空 slice newNumbers := make([]int, 0) // 添加需要保留的元素 for i := 0; i < len(numbers); i++ { if i != index { newNumbers = append(newNumbers, numbers[i]) } } fmt.Println(newNumbers) // [1 2 4 5] }
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!