English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang базовый учебник

Golang управляющие инструкции

Golang функции и методы

Golang структуры

Golang срезы и массивы

Golang строки (String)

Golang указатели

Golang интерфейсы

Golang параллелизм

Golang исключения (Error)

Golang другие вопросы

Слияние строк в Go

В языке Go строки кодируются с использованием кодировки UTF-8 и являются неизменяемыми последовательностями байтов. В Go процесс добавления двух или более строк в новую единую строку называется спайсингом. Самый простой способ спайсинга двух или более строк в Go - это использование оператора (+). Также известен как оператор спайсинга.

//Составление строк
package main
import "fmt"
func main() {
    //Создание и инициализация строки
    //Использование ключевого слова var
    var str1 string
    str1 = "Welcome!"
    var str2 string
    str2 = "oldtoolbag.com"
    //Соединение строк
    //Использование оператора +
    fmt.Println("Новая строка 1: ", str1+str2)
    //Создание и инициализация строки
    //Использование сокращенного синтаксиса
    str3 := "Geeks"
    str4 := "Geeks"
    //Соединение строк
    //Использование оператора +
    result := str3 + "for" + str4
    fmt.Println("Новая строка 2: ", result)
}

Вывод:

Новая строка 1: Welcome!oldtoolbag.com
Новая строка 2: GeeksforGeeks

Другие методы для соединения строк

  • Использование bytes.Buffer:Вы также можете использовать bytes.Buffer и метод WriteString() для соединения байтов строк и создания строк. Он определен в пакете bytes. Он предотвращает создание избыточных объектов строк, что означает, что он не создает новые строки из двух или более строк (например, с помощью оператора +).

    //Использование bytes.Buffer в функции WriteString()
    package main
    import (
        "bytes"
        "fmt"
    )
    func main() {
        //Создание и инициализация строки
        //Использование bytes.Buffer с
        //Функция WriteString()
        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: w3codebox
  • Использование Sprintf:В языке Go вы также можете использоватьSprintf()Метод для соединения строк.

    //Использование функции Sprintf
    package main
    import "fmt"
    func main() {
        //Создание и инициализация строки
        str1 := "Tutorial"
        str2 := "of"
        str3 := "Go"
        str4 := "Language"
        //Использование подключения строк
        //Функция Sprintf()
        result := fmt.Sprintf("%s%s%s%s", str1, str2, str3, str4)
        fmt.Println(result)
    }

    Вывод:

    TutorialofGoLanguage
  • Использование оператора += или для подключения строк:В Go строках, разрешается использоватьСоединение с помощью оператора +=Строка. Этот оператор добавляет новый или заданный строку в конец указанной строки.

    //Использование оператора += для соединения строк
    package main 
      
    import "fmt"
      
    func main() { 
      
        //Создание и инициализация строки
        str1 := "Welcome"
        str2 := "w3codebox"
      
        //Использование оператора +=
        str1 += str2 
        fmt.Println("Строка: ", str1) 
      
        str1 += "This is the tutorial of Go language"
        fmt.Println("Строка: ", str1) 
      
        str2 += "Portal"
        fmt.Println("Строка: ", str2) 
      
    }

    Вывод:

    Строка: Welcomew3codebox
    Строка: Welcomew3codeboxThis is the tutorial of Go language
    Строка: w3codeboxPortal
  • Использование функции Join():Эта функция соединяет все элементы, существующие в строковом массиве, в одну строку. Эта функция доступна в пакете строк.

    Синтаксис:

    func Join(str []string, sep string) string

    Здесь,strЭто строка, которую можно использовать для соединения элементов, sep - это разделитель, который ставится между элементами в конечной строке.

    //Соединение всех элементов
    //Появляется в фрагменте строки
    package main 
      
    import ( 
        "fmt"
        "strings"
    ) 
      
    func main() { 
      
        //Создание и инициализация массива строк
        myslice := []string{"Welcome", "To", "w3codebox", "Portal"} 
      
            //Соединение элементов
            //Пresentation в массиве
            //Использование функции join()
        result := strings.Join(myslice, "-") 
        fmt.Println(result) 
    }

    Вывод:

    Welcome-To-w3codebox-Portal