Golang 文字列を io.Writer に変換しますか? 質問する

Golang 文字列を io.Writer に変換しますか? 質問する

Golang で を 型stringに変換することは可能ですか?io.Writer

この文字列を使用するつもりですfmt.Fprintf()が、型を変換できません。

ベストアンサー1

に書き込むことはできませんstring。Gostringでは は不変です。

最良の代替案はbytes.BufferGo 1.10以降はより高速strings.Builder型: 実装するio.Writerそこに書き込むことができ、その内容stringBuffer.String()そしてBuilder.String()またはバイトスライスとしてBuffer.Bytes()

stringバッファを次のように作成すると、バッファの初期内容として を持つこともできます。bytes.NewBufferString():

s := "Hello"
buf := bytes.NewBufferString(s)
fmt.Fprint(buf, ", World!")
fmt.Println(buf.String())

出力(遊び場に行く):

Hello, World!

型の変数string(または型の任意の値string)を追加する場合は、次のようにします。Buffer.WriteString()(またはBuilder.WriteString()):

s2 := "to be appended"
buf.WriteString(s2)

または:

fmt.Fprint(buf, s2)

また、2つのsを連結したいだけの場合はstring、バッファを作成して使用する必要はないことに注意してください。fmt.Fprintf()演算子を使用してそれらを連結するだけです+

s := "Hello"
s2 := ", World!"

s3 := s + s2  // "Hello, World!"

以下も参照:Golang: 印刷せずに文字列をフォーマットしますか?

以下も興味深いかもしれません:ResponseWriter.Write と io.WriteString の違いは何ですか?

おすすめ記事