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)
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.
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