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