Maison > développement back-end > Golang > Comment pouvez-vous écrire au début d'un bytes.Buffer en Golang ?

Comment pouvez-vous écrire au début d'un bytes.Buffer en Golang ?

Susan Sarandon
Libérer: 2024-10-29 11:32:02
original
930 Les gens l'ont consulté

How can you write to the beginning of a bytes.Buffer in Golang?

Écrasement du début d'un tampon en Golang

En Golang, le type bytes.Buffer peut être utilisé pour écrire et lire des données dans un tampon. Par défaut, l'ajout au tampon est réalisé à l'aide de la méthode WriteString. Cependant, il peut y avoir des scénarios dans lesquels l'écriture au début du tampon est souhaitée.

Pouvons-nous écrire au début d'un tampon ?

Par défaut, le WriteString La méthode ajoute la chaîne fournie à la fin du tampon. L'implémentation sous-jacente de bytes.Buffer n'est pas exportée, ce qui rend difficile l'accès direct à la tranche sous-jacente du tampon et sa modification.

Solution :

Pour écrire au début d'un tampon, vous pouvez utiliser la solution de contournement suivante :

  1. Ajoutez la chaîne souhaitée à la fin du tampon.
  2. Récupérez la chaîne entière du tampon à l'aide de la méthode String.
  3. Réinitialisez le tampon pour effacer son contenu.
  4. Écrivez la chaîne concaténée (nouvelle chaîne suivie de l'ancienne chaîne) dans le tampon de réinitialisation.

Exemple :

<code class="go">package main

import (
    "bytes"
    "fmt"
)

func main() {
    var buffer bytes.Buffer
    buffer.WriteString("B")
    s := buffer.String()
    buffer.Reset()
    buffer.WriteString("A")
    buffer.WriteString(s)
    fmt.Println(buffer.String())
}</code>
Copier après la connexion

Sortie :

AB
Copier après la connexion

En concaténant et en réécrivant la chaîne, le code écrase efficacement le contenu du tampon, en plaçant le chaîne au début.

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