Maison  >  Article  >  développement back-end  >  Introduction à la méthode de suppression d'éléments dans une tranche en langage Go

Introduction à la méthode de suppression d'éléments dans une tranche en langage Go

王林
王林original
2024-04-02 17:33:02368parcourir

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.

Introduction à la méthode de suppression déléments dans une tranche en langage Go

Introduction à la méthode de suppression d'éléments dans une tranche en langage Go

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.

Fonctions intégrées

Fonction append (obsolète) append函数(不推荐使用)

append函数可以同时删除和追加元素。当需要删除切片尾部元素时,可以使用以下语法:

slice = slice[:len(slice)-1]    // 删除最后一个元素

copy函数

copy

La fonction 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]         // 删除最后一个元素

Modifier manuellement le tableau sous-jacent

Affectation directe 🎜🎜🎜 Vous pouvez attribuer directement le tableau sous-jacent de l'élément du milieu. slice vers un nouveau tableau, où il n'y a pas de Contient les éléments à supprimer : 🎜
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]
}
🎜Cas pratique🎜🎜 Prenons comme exemple une tranche contenant des entiers pour montrer comment supprimer des éléments dans la tranche : 🎜rrreee

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