Prefix Buffer écrit en Golang
En Golang, le bytes.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 (tampon d'octets interne) sous-jacent de bytes.Buffer ne soit pas exporté, il est possible de manipuler son contenu indirectement. Voici comment y parvenir :
<code class="go">buffer.WriteString("B") s := buffer.String() buffer.Reset() buffer.WriteString("A" + s)</code>
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 :
<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>
Sortie :
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.
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!