Tabla de contenido
Go
Hay 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 Java
similar a , golang
la 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 sprintf
la 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 strings
el paquete antes de llamar Join
a la función.
Join
La 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.WriteString
a 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)