Il existe trois méthodes pour supprimer des éléments de tranche dans le langage Go : la fonction d'ajout (non recommandée), la fonction de copie et la modification manuelle du tableau sous-jacent. La fonction d'ajout peut supprimer les éléments de queue, la fonction de copie peut supprimer les éléments du milieu et modifier manuellement le tableau sous-jacent pour attribuer et supprimer directement des éléments.
En langage Go, slice est un type référence, qui pointe vers le tableau sous-jacent. Lorsque vous supprimez un élément d'une tranche, vous devez mettre à jour le tableau sous-jacent référencé par la tranche.
Fonction append
(obsolète) append
函数(不推荐使用)
append
函数可以同时删除和追加元素。当需要删除切片尾部元素时,可以使用以下语法:
slice = slice[:len(slice)-1] // 删除最后一个元素
copy
函数
copy
append
peut supprimer et ajouter des éléments en même temps. Lorsque vous devez supprimer les éléments de queue d'une tranche, vous pouvez utiliser la syntaxe suivante : index := 2 slice = append(slice[:index], slice[index+1:]...) // 删除索引为index的元素
La fonction copy
La fonction copy
peut copier une partie d'une tranche. tranche à une autre tranche. Lorsque vous devez supprimer l'élément du milieu, vous pouvez copier la partie après l'élément à supprimer dans une nouvelle tranche :
index := 2 slice[index] = slice[len(slice)-1] // 将要删除元素移动到最后 slice = slice[:len(slice)-1] // 删除最后一个元素
package main import "fmt" func main() { slice := []int{1, 2, 3, 4, 5} // 使用append函数删除最后一个元素 slice = slice[:len(slice)-1] fmt.Println(slice) // 输出:[1 2 3 4] // 使用copy函数删除中间元素 index := 2 slice = append(slice[:index], slice[index+1:]...) fmt.Println(slice) // 输出:[1 2 4 5] // 使用直接赋值删除元素 index = 1 slice[index] = slice[len(slice)-1] slice = slice[:len(slice)-1] fmt.Println(slice) // 输出:[1 3 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!