Maison > développement back-end > Golang > le corps du texte

Discutez de quelques méthodes d'ajout d'éléments aux tableaux dans Golang

PHPz
Libérer: 2023-04-11 14:55:00
original
1614 Les gens l'ont consulté

Dans Golang, les tableaux sont une structure de données de longueur fixe et de même type. Ils doivent spécifier la longueur lorsqu'ils sont déclarés, et la longueur ne peut pas être modifiée. Cette limitation rend parfois les opérations sur les tableaux fastidieuses, par exemple lors de l'ajout d'éléments à un tableau. Dans cet article, nous aborderons quelques façons d'ajouter des éléments aux tableaux dans Golang.

  1. Utilisation de tranches

Les tranches dans Golang sont des séquences de longueur dynamiques implémentées sur la base de tableaux. Nous pouvons convertir un tableau en tranche, puis utiliser la fonction append pour ajouter des éléments à la tranche. L'avantage est que la tranche de la nouvelle taille sera automatiquement créée et les données du tableau seront copiées dans la nouvelle tranche.

L'exemple de code est le suivant :

package main
import "fmt"
func main() {
    arr := []int{1, 2, 3, 4, 5}
    slice := arr[:]
    slice = append(slice, 6)
    fmt.Println(slice)
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons d'abord converti un tableau "arr" contenant 5 éléments en une tranche "slice", puis avons ajouté un entier à la tranche en utilisant "append" 6". En exécutant le code ci-dessus, nous verrons le résultat :

[1 2 3 4 5 6]
Copier après la connexion
Copier après la connexion

Grâce à l'opération ci-dessus, nous avons ajouté avec succès un élément au tableau de longueur fixe et obtenu une nouvelle tranche de longueur 6. Cette méthode est très pratique.

  1. Copier et augmenter manuellement la longueur

La deuxième méthode consiste à copier manuellement les données du tableau vers un nouveau tableau et à ajouter des éléments un par un. L'inconvénient de cette méthode est qu'elle est relativement inefficace car nous devons copier manuellement les éléments du tableau et parcourir l'intégralité du tableau.

L'exemple de code est le suivant :

package main
import "fmt"
func main() {
    arr := [5]int{1, 2, 3, 4, 5}
    newArr := [6]int{}
    for index, value := range arr {
        newArr[index] = value
    }
    newArr[5] = 6
    fmt.Println(newArr)
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons d'abord créé un tableau "arr" contenant 5 entiers, puis créé un nouveau tableau "newArr" d'une longueur de 6 et utilisé une boucle "for" Parcourez "arr", copiez les éléments dans "newArr" et enfin ajoutez l'entier "6" à "newArr". Exécutez le code ci-dessus et nous verrons le résultat :

[1 2 3 4 5 6]
Copier après la connexion
Copier après la connexion

Grâce à l'opération ci-dessus, nous avons réussi à ajouter un élément au tableau de longueur fixe et à obtenir un nouveau tableau de longueur 6. Cette méthode utilise Cela semble plus lourd, mais si la quantité de données que vous devez traiter est faible ou vous ne vous souciez pas trop de l'efficacité d'exécution du code, alors c'est également une option.

Conclusion

En général, les méthodes d'ajout d'éléments aux tableaux dans Golang sont relativement simples, mais rappelez-vous que les tableaux ont une longueur fixe. Cette limitation peut vous obliger à dépenser plus de code pour terminer l'opération d'ajout d'éléments. Dans les projets réels, nous devons choisir des méthodes appropriées en fonction de besoins spécifiques et prêter attention à l'efficacité du code.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal