


Wie kann ich Daten an den Anfang eines bytes.Buffer in Go schreiben?
Oct 28, 2024 am 07:31 AMSchreiben an den Anfang eines Puffers in Go
In Go stellt der Typ bytes.Buffer Methoden zum Erstellen eines veränderlichen Bytepuffers bereit . Standardmäßig werden Daten mithilfe von Methoden wie WriteString() an den Puffer angehängt. Es kann jedoch wünschenswert sein, an den Anfang eines Puffers zu schreiben.
Ist es möglich, an den Anfang eines Puffers zu schreiben?
Der zugrunde liegende Pufferpuffer bytes.Buffer wird nicht exportiert, was eine direkte Manipulation erschwert. Es gibt jedoch einen Workaround, der das Schreiben an den Anfang des Puffers ermöglicht.
Lösung
Um an den Anfang eines Puffers zu schreiben, können Sie die folgenden Schritte ausführen:
- Fügen Sie einige Daten an den Puffer hinzu, um das zugrunde liegende Slice zu initialisieren.
- Lesen Sie den gesamten Puffer in einen String.
- Setzen Sie den Puffer zurück.
- Fügen Sie Ihre gewünschten Daten am Anfang hinzu.
- Fügen Sie die Originaldaten nach den neuen Daten hinzu.
Beispiel
Das folgende Beispiel zeigt dies dieser Ansatz:
<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" + s) fmt.Println(buffer.String()) }</code>
Ausgabe:
AB
Mit dieser Problemumgehung können Sie in Go an den Anfang eines Puffers schreiben, was mehr Flexibilität bei der Verwaltung des Pufferinhalts ermöglicht.
Das obige ist der detaillierte Inhalt vonWie kann ich Daten an den Anfang eines bytes.Buffer in Go schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Linter und statische Analyse -Tools verwenden, um die Qualität und Wartbarkeit meines GO -Codes zu verbessern?
