Golang Convertir la chaîne en io.Writer?
Est-il possible de convertir un string
à un io.Writer
type de Golang?
Je serai à l'aide de cette chaîne dans fmt.Fprintf()
mais je suis incapable de convertir le type.
source d'informationauteur Acidic
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas écrire dans un
string
string
s en Aller, sont immuables.Les meilleures solutions sont les
octets.Tampon
et depuis Aller 1.10 le plus rapidechaînes.Builder
types: ils mettent en œuvreio.L'écrivain
de sorte que vous pouvez écrire, et vous pouvez obtenir de leur contenu comme unestring
avecde la mémoire Tampon.Chaîne de caractères()
etBuilder.Chaîne de caractères()
ou comme un octet tranche avecde la mémoire Tampon.Octets()
.Vous pouvez également avoir un
string
que le contenu initial de la mémoire tampon si vous créez de la mémoire tampon avecoctets.NewBufferString()
:De sortie (essayez sur la Aller De L'Aire De Jeux):
Si vous souhaitez ajouter une variable de type
string
(ou n'importe quelle valeur destring
type), vous pouvez simplement utiliserde la mémoire Tampon.WriteString()
(ouBuilder.WriteString()
):Ou:
Notez également que si vous voulez juste pour concaténer 2
string
s, vous n'avez pas besoin de créer une zone tampon et l'utilisationde l'esf.Fprintf()
vous pouvez simplement utiliser la+
opérateur de concaténation:Voir aussi: Golang: format d'une chaîne sans impression?
Il peut également être d'intérêt: Quelle est la différence entre ResponseWriter.Écrire et io.WriteString?