Різні способи конкатенації двох рядків у Golang
У мові Go рядок — це незмінний ланцюжок довільних байтів, закодованих за допомогою кодування UTF-8. У рядках Go процес додавання двох або більше рядків у новий один рядок відомий як конкатенація. Найпростіший спосіб конкатенації двох або більше рядків у мові Go — використання оператора +. Він також відомий як оператор конкатенації.
приклад:
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)> }> |
Вихід:
New string 1: Welcome!techcodeview.com New string 2: techcodeview.com
Інші методи конкатенації рядків
- Використання bytes.Buffer: Ви також можете створити рядок, об’єднавши байти рядків за допомогою bytes.Buffer з Метод WriteString(). . Він визначений у пакеті bytes. Це запобігає генеруванню непотрібного рядкового об’єкта, тобто не генерує новий рядок, як в операторі + з двох або більше рядків. приклад:
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())> }> |
- Вихід:
String: Geeks String: techcodeview.com
- Використання Sprintf: у мові Go ви також можете об’єднувати рядки за допомогою Sprintf() метод. приклад:
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)> }> |
- Вихід:
TutorialofGoLanguage
- Використання оператора += або додавання рядка: у рядках Go ви можете додавати рядок за допомогою оператор += . Цей оператор додає новий або заданий рядок у кінець зазначеного рядка. приклад:
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)> }> |
- Вихід:
String: Welcometechcodeview.com String: Welcometechcodeview.comThis is the tutorial of Go language String: techcodeview.comPortal
- Використання функції Join(): Ця функція об’єднує всі елементи, присутні у фрагменті рядка, в один рядок. Ця функція доступна в пакеті string. Синтаксис:
func Join(str []string, sep string) string
- тут, вул це рядок, з якого ми можемо об’єднувати елементи, а sep – це роздільник, який розміщується між елементами останнього рядка. приклад:
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)> }> |
- Вихід:
Welcome-To-techcodeview.com-Portal
- Використання strings.Builder: Ви також можете створити рядок, об’єднавши рядки за допомогою strings.Builder з Метод WriteString(). Він визначений у пакеті strings. Він використовує менше пам’яті під час конкатенації рядків і є кращим способом конкатенації. Функція WriteString додає вміст рядка до буфера та дозволяє нам об’єднувати рядки швидше. Це запобігає генерації непотрібного об’єкта рядка, тобто не генерує новий рядок, як в операторі + з двох або більше рядків.
приклад:
Ідіть
// 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())> }> |
Вихід:
String: Welcome String: Welcome to techcodeview.com!