Concatenación de cadenas en Go

GoHay muchos métodos de concatenación de cadenas admitidos en el lenguaje, aquí hay una lista:

1. Conecta dos cadenas con el signo +

Esto es Javasimilar a , golangla cadena en también es un tipo inmutable , por lo que +la concatenación generará una nueva cadena y tendrá un impacto en la eficiencia .

s1 := "字符串"
s2 := "拼接"
s3 := s1 + s2
fmt.Print(s3) //s3 = "打印字符串"

2. Usa la función sprintf

Use sprintfla función, aunque no producirá una cadena temporal +como . Pero la eficiencia no es alta.

s1 := "字符串"
s2 := "拼接"
s3 := fmt.Sprintf("%s%s", s1, s2) //s3 = "打印字符串"

3. Utilice la función Unirse

Aquí necesitamos importar stringsel paquete antes de llamar Joina la función.

JoinLa función primero calculará la longitud después del empalme de acuerdo con el contenido de la matriz de cadenas, y luego solicitará la memoria del tamaño correspondiente y completará las cadenas una por una. En el caso de una matriz existente, esta eficiencia será muy alto Si no hay La eficiencia no es alta.

//需要先导入strings包
s1 := "字符串"
s2 := "拼接"
//定义一个字符串数组包含上述的字符串
var str []string = []string{
    
    s1, s2}
//调用Join函数
s3 := strings.Join(str, "")
fmt.Print(s3)

4. Use la función WriteString de bytes.Buffer

Llame buffer.WriteStringa la función , el rendimiento de este método será mucho mejor que el anterior .

//需要先导入bytes包
s1 := "字符串"
s2 := "拼接"
//定义Buffer类型
var bt bytes.Buffer
向bt中写入字符串
bt.WriteString(s1)
bt.WriteString(s2)
//获得拼接后的字符串
s3 := bt.String()

5. Utilice la función WriteString de buffer.Builder (recomendación oficial)

Use buffer.Builder, este método es similar al anterior, pero la recomendación oficial es usar this , y el método de uso es básicamente el mismo que el anterior.

//需要先导入Strings包
s1 := "字符串"
s2 := "拼接"
var build strings.Builder
build.WriteString(s1)
build.WriteString(s2)
s3 := build.String()

6. Conclusión

En general, se puede +usar la conexión, pero la mejor manera sigue siendo strings.Builder.

Blog personal: concatenación de cadenas en lenguaje Go (transferencia)

Supongo que te gusta

Origin blog.csdn.net/peng2hui1314/article/details/128894871
Recomendado
Clasificación