複数の文字列の比較を一緒golang

パッケージconcat_stringの

インポート(
	"バイト" 
	"FMT" 
	"のStrConv" 
	"文字列" 
	"テスト" 

CONST番号= 100 

FUNC BenchmarkSprintf(B * testing.B){ 
	b.ResetTimer()
	インデックスの:= 0; インデックス<bNの。インデックス++ { 
		iについて:= 0; 私は数字を<; I ++ { 
			VARの文字列
			S = fmt.Sprintf( "体積%の体積%"、S、I)
		} 
	} 
	b.StopTimer()
} 

FUNC BenchmarkStringBuilder(b *表testing.B){ 
	b.ResetTimer()
	インデックスの:= 0 ; インデックス<bNの。インデックス++ { 
		VARビルダーstrings.Builder 
		私のために:= 0; 私は数字を<; 私は{++ 
			builder.WriteString(のStrConvを。
	}
	b.StopTimer()
} 

BechmarkSytesBuf(B * testing.B){FUNC 
	b.ResetTimer()
	インデックスの:= 0; インデックス<bNの。インデックス++ { 
		bytes.Buffer BUF VAR 
		私のために:= 0; 私は数字を<; 私は{++ 
			buf.WriteString(strconv.Itoa(I))
		} 
	} 
	b.StopTimer()
} 

BechmarkStringAdd FUNC(B * testing.B){ 
	b.ResetTimer()の
	インデックスの:= 0; インデックス<bNの。インデックス++ { 
		VARの文字列
		iに対する:= 0; 私は数字を<; I ++ { 
			S + = strconv.Itoa(I)
		} 
	} 
	b.StopTimer()
}

 

 

比較すると、我々は最高のパフォーマンスstring.Builderとbytes.Bufferことがわかりました

おすすめ

転載: www.cnblogs.com/lemonzwt/p/11432537.html