„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich in Golang an den Anfang eines Bytes.Buffer schreiben?

Wie kann ich in Golang an den Anfang eines Bytes.Buffer schreiben?

Veröffentlicht am 08.11.2024
Durchsuche:427

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

Präfixpufferschreibvorgänge in Golang

In Golang ist der bytes.Buffer ein Typ, der für die effiziente Verkettung und Manipulation von Zeichenfolgen entwickelt wurde. Einige Entwickler müssen jedoch möglicherweise an den Anfang eines Puffers schreiben, im Gegensatz zu den integrierten Hilfsmethoden (z. B. WriteString), die nur an den Puffer anhängen.

An den Anfang des Puffers schreiben

Während der zugrunde liegende Buf (interner Bytepuffer) von bytes.Buffer nicht exportiert wird, ist es möglich, seinen Inhalt indirekt zu manipulieren. So können Sie es erreichen:

buffer.WriteString("B")
s := buffer.String()
buffer.Reset()
buffer.WriteString("A"   s)
  1. Write to End of Buffer: Schreiben Sie zunächst die Zeichenfolge „B“ mit WriteString an das Ende des Puffers.
  2. Pufferinhalte abrufen: Verwenden Sie die String-Methode, um den gesamten Pufferinhalt im String-Format abzurufen und in einer Variablen zu speichern s.
  3. Puffer zurücksetzen: Setzt den Puffer auf seinen Anfangszustand zurück, wodurch der gesamte vorherige Inhalt aus dem Puffer entfernt wird.
  4. An den Anfang des Puffers schreiben: Schreiben Sie die Zeichenfolge „A“, gefolgt von der zuvor abgerufenen Zeichenfolge s, mit WriteString.

By in den Puffer Durch die Verkettung von „A“ und s schreiben wir effektiv „A“ am Anfang des Puffers, gefolgt vom ursprünglichen Inhalt.

Beispiel

Der folgende Code demonstriert dies Prozess:

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())
}

Ausgabe:

AB

Diese Strategie bietet eine Problemumgehung zum Schreiben an den Anfang eines Puffers in Golang trotz der Einschränkungen des Standardbibliothekstyps bytes.Buffer.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3