Diferentes formas de concatenar dos cadenas en Golang

En el lenguaje Go, la cadena es una cadena inmutable de bytes arbitrarios codificados con codificación UTF-8. En Go strings, el proceso de agregar dos o más cadenas en una nueva cadena única se conoce como concatenación. La forma más sencilla de concatenar dos o más cadenas en el lenguaje Go es mediante el operador +. También se le conoce como operador de concatenación.

Ejemplo:

C




// Go program to illustrate> // how to concatenate strings> package main> import 'fmt'> func main() {> > // Creating and initializing strings> > // using var keyword> > var str1 string> > str1 = 'Welcome!'> > var str2 string> > str2 = 'techcodeview.com'> > // Concatenating strings> > // Using + operator> > fmt.Println('New string 1: ', str1+str2)> > // Creating and initializing strings> > // Using shorthand declaration> > str3 := 'Geeks'> > str4 := 'Geeks'> > // Concatenating strings> > // Using + operator> > result := str3 + '> for> ' + str4> > fmt.Println('New string 2: ', result)> }>

Producción:

New string 1: Welcome!techcodeview.com New string 2: techcodeview.com 

Otros métodos para concatenar cadenas

    Usando bytes.Buffer: También puedes crear una cadena concatenando los bytes de las cadenas usando bytes.Buffer con Método WriteString() . Se define en el paquete de bytes. Evita la generación de objetos de cadena innecesarios, lo que significa que no genera una nueva cadena como en el operador + a partir de dos o más cadenas. Ejemplo:

C




// Go program to illustrate how to concatenate strings> // Using bytes.Buffer with WriteString() function> package main> import (> > 'bytes'> > 'fmt'> )> func main() {> > // Creating and initializing strings> > // Using bytes.Buffer with> > // WriteString() function> > var b bytes.Buffer> > > b.WriteString('G')> > b.WriteString('e')> > b.WriteString('e')> > b.WriteString('k')> > b.WriteString('s')> > > fmt.Println('String: ', b.String())> > b.WriteString('f')> > b.WriteString('o')> > b.WriteString('r')> > b.WriteString('G')> > b.WriteString('e')> > b.WriteString('e')> > b.WriteString('k')> > b.WriteString('s')> > > fmt.Println('String: ', b.String())> }>

    Producción:
String: Geeks String: techcodeview.com 
    Usando Sprintf: en el lenguaje Go, también puedes concatenar cadenas usando Sprintf() método. Ejemplo:

C




// Go program to illustrate how to concatenate strings> // Using Sprintf function> package main> import 'fmt'> func main() {> > // Creating and initializing strings> > str1 := 'Tutorial'> > str2 := 'of'> > str3 := 'Go'> > str4 := 'Language'> > // Concatenating strings using> > // Sprintf() function> > result := fmt.Sprintf('%s%s%s%s', str1,> > str2, str3, str4)> > > fmt.Println(result)> }>

    Producción:
TutorialofGoLanguage 
    Usando el operador += o String append: En Go strings, puedes agregar una cadena usando += operador . Este operador agrega una cadena nueva o dada al final de la cadena especificada. Ejemplo:

C




// Go program to illustrate how> // to concatenate strings> // Using += operator> package main> import 'fmt'> func main() {> > // Creating and initializing strings> > str1 := 'Welcome'> > str2 := 'techcodeview.com'> > // Using += operator> > str1 += str2> > fmt.Println('String: ', str1)> > str1 += 'This is the tutorial of Go language'> > fmt.Println('String: ', str1)> > str2 += 'Portal'> > fmt.Println('String: ', str2)> }>

    Producción:
String: Welcometechcodeview.com String: Welcometechcodeview.comThis is the tutorial of Go language String: techcodeview.comPortal 
    Uso de la función Join(): esta función concatena todos los elementos presentes en el segmento de cadena en una sola cadena. Esta función está disponible en el paquete de cadenas. Sintaxis:
func Join(str []string, sep string) string 
  • Aquí, cadena es la cadena a partir de la cual podemos concatenar elementos y sep es el separador que se coloca entre los elementos en la cadena final. Ejemplo:

C




// Go program to illustrate how to> // concatenate all the elements> // present in the slice of the string> package main> import (> > 'fmt'> > 'strings'> )> func main() {> > // Creating and initializing slice of string> > myslice := []string{'Welcome', 'To',> > 'techcodeview.com', 'Portal'}> > // Concatenating the elements> > // present in the slice> > // Using join() function> > result := strings.Join(myslice, '-')> > fmt.Println(result)> }>

    Producción:
Welcome-To-techcodeview.com-Portal 
    Usando strings.Builder: También puedes crear una cadena concatenando las cadenas usando strings.Builder con Método WriteString(). Se define en el paquete de cadenas. Utiliza menos memoria al concatenar cadenas y es una mejor forma de concatenación. La función escribir cadena agrega el contenido de la cadena a un buffer y nos permite concatenar cadenas de una manera más rápida. Evita la generación de objetos de cadena innecesarios, lo que significa que no genera una nueva cadena como en el operador + a partir de dos o más cadenas.

Ejemplo:

Ir




// Go program to illustrate how to concatenate strings> // Using strings.Builder with WriteString() function> package> main> import> (> > 'fmt'> > 'strings'> )> func> main() {> > // Creating and initializing strings> > // Using strings.Builder with> > // WriteString() function> > var> str strings.Builder> > str.WriteString(> 'Welcome'> )> > fmt.Println(> 'String: '> , str.String())> > str.WriteString(> ' to'> )> > str.WriteString(> ' techcodeview.com!'> )> > fmt.Println(> 'String: '> , str.String())> }>

Producción:

String: Welcome String: Welcome to techcodeview.com!