Maison > développement back-end > Golang > Comment ajouter une chaîne à une tranche variadique d'interfaces dans Go ?

Comment ajouter une chaîne à une tranche variadique d'interfaces dans Go ?

Mary-Kate Olsen
Libérer: 2024-12-07 15:02:13
original
675 Les gens l'ont consulté

How to Prepend a String to a Variadic Slice of Interfaces in Go?

Préparer une chaîne à une tranche variadique d'interfaces

Considérons une situation dans laquelle vous disposez d'une méthode qui accepte un nombre variable d'arguments de type ...interface{} . Pour ajouter une chaîne à cette tranche, vous pouvez rencontrer des problèmes lors de l'utilisation directe de append().

Dans de tels cas, la fonction standard append() s'attend à ce que le premier argument soit une tranche et que les arguments suivants correspondent au type. des éléments dans la tranche :

func append(slice []Type, elems ...Type) []Type
Copier après la connexion

Pour résoudre ce problème, vous pouvez créer un wrapper []interface{} pour votre chaîne initiale, puis utiliser append() pour combiner la chaîne et la variable slice :

s := "initial string"
rest := []interface{}{"element 1", "element 2"}

all := append([]interface{}{s}, rest...)
fmt.Println(all)
Copier après la connexion

Sortie :

[initial string element 1 element 2]
Copier après la connexion

En enveloppant la chaîne sous forme d'[]interface{}, vous vous assurez qu'elle correspond au type attendu pour append() et vous permet de ajoutez-le avec succès à la tranche variadique.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal