Ajout et pré-ajout d'un tampon dans Golang
Lorsque vous travaillez avec des tampons dans Golang, il est courant d'ajouter des données à la fin du tampon en utilisant des méthodes comme WriteString. Cependant, dans certains scénarios, il peut être nécessaire d'écrire au début d'un tampon.
Modifier le tampon en interne
Depuis la tranche de buf sous-jacente en octets.Buffer n'est pas exporté, il n'est pas possible de modifier directement le contenu du buffer. Pour contourner ce problème, vous pouvez suivre ces étapes :
buffer.WriteString("B")
s := buffer.String()
buffer.Reset()
buffer.WriteString("A" + s)
Cette solution ajoute efficacement les données au tampon.
Exemple et résultat
Le code Go Playground suivant illustre cette technique :
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()) }
L'exécution du code ci-dessus donne le résultat :
AB
Dans cet exemple , la lettre « A » est ajoutée au « B » initialement écrit dans le tampon, ce qui donne la chaîne « AB ».
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!