"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je écrire au début d’un Bytes.Buffer dans Golang ?

Comment puis-je écrire au début d’un Bytes.Buffer dans Golang ?

Publié le 2024-11-08
Parcourir:619

How Can I Write to the Beginning of a Bytes.Buffer in Golang?

Prefix Buffer Writes in Golang

Dans Golang, les octets.Buffer est un type conçu pour une concaténation et une manipulation efficaces de chaînes. Cependant, certains développeurs peuvent être confrontés au besoin d'écrire au début d'un tampon, contrairement aux méthodes d'assistance intégrées (par exemple, WriteString) qui s'ajoutent uniquement au tampon.

Écrire au début du tampon.

Bien que le buf sous-jacent (tampon d'octet interne) de bytes.Buffer ne soit pas exporté, il est possible de manipuler son contenu indirectement. Voici comment y parvenir :

buffer.WriteString("B")
s := buffer.String()
buffer.Reset()
buffer.WriteString("A"   s)
  1. Write to End of Buffer : Initialement, écrivez la chaîne "B" à la fin du tampon à l'aide de WriteString.
  2. Récupérer le contenu du tampon : utilisez la méthode String pour récupérer l'intégralité du contenu du tampon au format chaîne et le stocker dans la variable s.
  3. Réinitialiser le tampon : Réinitialiser le tampon à son état initial, ce qui supprime tout le contenu précédent du tampon.
  4. Écrire au début du tampon : Écrivez la chaîne "A" suivie de la chaîne s précédemment récupérée dans le tampon en utilisant WriteString.

En concaténant "A" et s, nous écrivons effectivement "A" au début du tampon, suivi du contenu d'origine.

Exemple

Le code suivant illustre le processus :

package main

import (
    "bytes"
    "fmt"
)

func main() {
    var buffer bytes.Buffer
    buffer.WriteString("B")
    s := buffer.String()
    buffer.Reset()
    buffer.WriteString("A"   s)
    fmt.Println(buffer.String())
}

Output :

AB

Cette stratégie fournit une solution de contournement pour écrire au début d'un tampon dans Golang malgré les limitations des octets de la bibliothèque standard.Type de tampon.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3