Maison >développement back-end >Golang >Comment supprimer des éléments dans un tableau dans Golang

Comment supprimer des éléments dans un tableau dans Golang

尚
original
2019-12-25 10:10:3029100parcourir

Comment supprimer des éléments dans un tableau dans Golang

L'essence de la suppression d'éléments dans Slice

Le langage Go ne fournit pas de syntaxe ni d'interface pour supprimer des éléments, mais supprime des éléments en profitant des caractéristiques du tranche elle-même—— Ajouter des éléments. Autrement dit, en utilisant l'élément supprimé comme point de division, la mémoire des deux parties avant et après est reconnectée.

Utilisez la fonctionnalité d'ajout de tranches et implémentez-la dans le code.

Implémentation de la suppression d'éléments avec Slice :

Étant donné que slice n'a pas de sucre de syntaxe pour implémenter la suppression, sa fonctionnalité d'ajout d'éléments est utilisée pour terminer la suppression des éléments ; () est utilisé pour implémenter la suppression d'un seul élément et la suppression de fragments d'éléments.

L'idée spécifique est

Comment supprimer des éléments dans un tableau dans Golang

L'implémentation spécifique du code est la suivante :

   // 从切片中删除元素
   func SliceDelete() {
   	// 初始化一个新的切片 seq
   	seq := []string{"a", "b", "c", "d", "e", "f", "g"}

   	// 指定删除位置
   	index := 3

   	// 输出删除位置之前和之后的元素
   	fmt.Println(seq[:index], seq[index+1:])
   	// seq[index+1:]... 表示将后段的整个添加到前段中
   	// 将删除前后的元素连接起来
   	seq = append(seq[:index], seq[index+1:]...)
   	// 输出链接后的切片
   	fmt.Println(seq)
   }
   
OutPut Result:
[a b c] [e f g]
[a b c e f g]

Le processus opérationnel de suppression d'éléments Slice

         a   b   c   d   e   f   g
  -------------------------------------
        |                         |
        ↓    seq[:index]          ↓   seq[index+1:]
    a   b   c                 e   f   g
  -------------             -------------
        |                        |
        |                        |
        ↓                        ↓   
        a     b     c    e     f   g
    ----------------------------------
    append(seq[:index], seq[index+1:]...)

Pour plus de connaissances sur le golang, veuillez faire attention à la colonne tutoriel golang.

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