2016-03-30 14 views

答えて

27

Goのstring,stringに書き込むことはできません。

最善の選択肢はbytes.Bufferタイプである:それはそうあなたがそれに書き込むことができ、あなたがBuffer.String()またはBuffer.Bytes()のバイトスライスとしてstringとしてそのコンテンツを取得することができio.Writerを実装します。

あなたはbytes.NewBufferString()でバッファを作成する場合は、バッファの初期コンテンツとしてstringを持つことができます。

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

出力(Go Playground上でそれを試してみてください):

Hello, World! 

あなたの場合stringの変数を追加したい場合は、単にBuffer.WriteString()を使用してください:

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

または:

fmt.Fprint(buf, s2) 

はまた、あなたは、単にそれらを連結する+演算子を使用することができ、あなただけの2つのstring Sを連結する場合、あなたはバッファを作成し、fmt.Fprintf()を使用する必要はありませんのでご注意

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

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

も参照してください:Golang: format a string without printing?

+0

関数fmt.Fprintf()で文字列の型で変数を使用する方法の例を教えてください。 :) – Acidic

関連する問題