Golang でのプレフィックス バッファーの書き込み
Golang では、bytes.Buffer は効率的な文字列の連結と操作のために設計された型です。ただし、開発者によっては、バッファに追加するだけの組み込みヘルパー メソッド (WriteString など) とは異なり、バッファの先頭に書き込む必要がある場合があります。
Write to Beginning of Buffer
bytes.Buffer の基礎となる buf (内部バイト バッファ) はエクスポートされませんが、その内容を間接的に操作することは可能です。これを実現する方法は次のとおりです:
buffer.WriteString("B")
s := buffer.String()
buffer.Reset()
buffer.WriteString("A" s)
「A」と s を連結すると、効果的にバッファの先頭に「A」が書き込まれ、その後に元の内容が続きます。
Example
次のコードはプロセスを示しています:
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
この戦略は、標準ライブラリの bytes.Buffer 型の制限にもかかわらず、Golang のバッファの先頭に書き込むための回避策を提供します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3