Другие методы конкатенации строк
Помимо использования + оператора для объединения строк, мы также можем использовать следующие способы объединения строк.
-
Sprintf/Sprint/Sprintln функции в стандартном пакете fmt могут использоваться для конкатенации значений любых типов, включая строковые типы.
-
Используй функцию Join в стандартном пакете strings.
-
Тип Buffer в стандартном пакете bytes (или встроенная функция copy) может использоваться для построения байтовых срезов, которые впоследствии могут быть преобразованы в строковые значения.
-
Начиная с Go 1.10, тип Builder в стандартном пакете strings можно использовать для построения строк. По сравнению со способом bytes.Buffer, этот способ позволяет избежать создания ненужной дублированной копии базовых байтов для строкового результата.
Стандартный компилятор Go оптимизирует конкатенацию строк с помощью + оператора. Таким образом, использование оператора конкатенации + для объединения строк удобно и эффективно, если количество объединенных строк известно во время компиляции.
Синтаксический сахар: используй строки как байтовые срезы
Мы можем использовать встроенные функции copy и append для копирования и добавления элементов среза. На самом деле, как частный случай, если первый аргумент вызова любой из двух функций является байтовым срезом, то второй аргумент может быть строкой. Если вызов является вызовом append, то за строковым аргументом должны следовать три точки .... Строка может использоваться как байтовый срез для особого случая.
Пример:

Самое время протестировать код!