ホームページ > バックエンド開発 > Golang > Golang で bytes.Buffer の先頭に書き込むにはどうすればよいですか?

Golang で bytes.Buffer の先頭に書き込むにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-29 11:32:02
オリジナル
944 人が閲覧しました

How can you write to the beginning of a bytes.Buffer in Golang?

Golang でのバッファの先頭の上書き

Golang では、bytes.Buffer 型を使用して、データの書き込みと読み取りを行うことができます。バッファ。デフォルトでは、バッファへの追加は WriteString メソッドを使用して行われます。ただし、バッファの先頭に書き込むことが必要なシナリオもあります。

バッファの先頭に書き込めますか?

デフォルトでは、WriteStringメソッドは、指定された文字列をバッファーの末尾に追加します。 bytes.Buffer の基になる実装はエクスポートされないため、バッファの基になるスライスに直接アクセスして変更することが困難になります。

解決策:

先頭に書き込むには

  1. 目的の文字列をバッファの末尾に追加します。
  2. String メソッドを使用してバッファから文字列全体を取得します。
  3. バッファをリセットして内容をクリアします。
  4. 連結された文字列 (新しい文字列の後に古い文字列が続く) をリセット バッファに書き込みます。

例:

<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")
    buffer.WriteString(s)
    fmt.Println(buffer.String())
}</code>
ログイン後にコピー

出力:

AB
ログイン後にコピー

文字列を連結して書き換えることにより、コードはバッファの内容を効果的に上書きし、目的の内容を配置します。先頭の文字列。

以上がGolang で bytes.Buffer の先頭に書き込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート