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
Mary-Kate Olsenoriginal
2024-12-07 15:02:13709parcourir

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

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)

Sortie :

[initial string element 1 element 2]

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!

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