golangの文字列接合
1328 ワード
よく使われる文字列の接合方法
1.最も一般的な方法は、+が2つの文字列を接続することに違いありません.これはpythonと似ていますが、golangの文字列は可変なタイプなので、+接続で新しい文字列が効率に影響します.
普通は少量の文字列のつなぎ合わせに対して直接+で接続することができますが、最も良い方法はBuilderです.
1.最も一般的な方法は、+が2つの文字列を接続することに違いありません.これはpythonと似ていますが、golangの文字列は可変なタイプなので、+接続で新しい文字列が効率に影響します.
s1 := " "
s2 := " "
s3 := s1 + s2
fmt.Print(s3) //s3 = " "
2.第2の方法はsprintf関数を使用し、直接+を使用するように一時文字列を生成しないが.でも効率も上がらないs1 := " "
s2 := " "
s3 := fmt.Sprintf("%s%s", s1, s2) //s3 = " "
3.第3の方法は、Join関数を使用することです.ここでは、Join関数を呼び出すにはstringsパッケージを導入する必要があります.Join関数はまず文字列配列の内容に基づいて,1つの接合後の長さを計算し,対応するサイズのメモリを申請し,1つの文字列を埋め込み,すでに1つの配列がある場合,この効率は高く,なければ効率も高くない.// strings
s1 := " "
s2 := " "
//
var str []string = []string{s1, s2}
// Join
s3 := strings.Join(str, "")
fmt.Print(s3)
4.4番目の方法はbuffer.WriteString関数を呼び出すことであり、この方法の性能は上記より大幅に優れている.// bytes
s1 := " "
s2 := " "
// Buffer
var bt bytes.Buffer
bt
bt.WriteString(s1)
bt.WriteString(s2)
//
s3 := bt.String()
5.5つ目の方法はbuffer.Builderで、この方法は上との差は多くありませんが、公式にはこれを使うことをお勧めします.使用方法は上と基本的に同じです.// Strings
s1 := " "
s2 := " "
var build strings.Builder
build.WriteString(s1)
build.WriteString(s2)
s3 := build.String()
結論普通は少量の文字列のつなぎ合わせに対して直接+で接続することができますが、最も良い方法はBuilderです.