Ранее мы рассматривали процесс разбивание строки в массив. При этом мы разделяли одну строку на подстроки. Далее будет рассмотрен процесс конкатенации, или объединения нескольких строк в одну строку вместе с указанием разделителя, который тоже является строкой.
Практическим вариантом использования данного способа может быть проблема динамического SELECT запроса в SQL.
 
Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎
Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.
Как превратить массив в строку в Golang?
1. Создайте файл join.go со следующим содержимым:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package main import ( 	"fmt" 	"strings" ) const selectBase = "SELECT * FROM user WHERE %s " var refStringSlice = []string{ 	" FIRST_NAME = 'Jack' ", 	" INSURANCE_NO = 333444555 ", 	" EFFECTIVE_FROM = SYSDATE "} func main() { 	sentence := strings.Join(refStringSlice, "AND") 	fmt.Printf(selectBase+"\n", sentence) } | 
2. Запустите код через go run join.go;
3. Посмотрите на результат в терминале:

4. Создайте файл join_manually.go со следующим содержимым:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | package main import ( 	"fmt" 	"strings" ) const selectBase = "SELECT * FROM user WHERE " var refStringSlice = []string{ 	" FIRST_NAME = 'Jack' ", 	" INSURANCE_NO = 333444555 ", 	" EFFECTIVE_FROM = SYSDATE "} type JoinFunc func(piece string) string func main() { 	jF := func(p string) string { 		if strings.Contains(p, "INSURANCE") { 			return "OR" 		} 		return "AND" 	} 	result := JoinWithFunc(refStringSlice, jF) 	fmt.Println(selectBase + result) } func JoinWithFunc(refStringSlice []string, joinFunc JoinFunc) string { 	concatenate := refStringSlice[0] 	for _, val := range refStringSlice[1:] { 		concatenate = concatenate + joinFunc(val) + val 	} 	return concatenate } | 
5. Запустите код через go run join.go;
6. Посмотрите на результат в терминале:

Код для объедения массива в строку
Для объединения срезов строки в одну строку предусмотрена функция Join из пакета strings. Вам просто нужно предоставить срез строкам, которые нужно объединить. Такой способ удобен для объединения срезов строк. Использование функции Join расписано на этапах 1-3.
Естественно, объединение можно реализовать вручную через итерацию среза. В таком случае вы можете настроить разделитель с помощью использования более сложной логики. В шагах 4-6 описывается, как ручная конкатенация может использоваться с более сложной логикой, основывающейся на тех строках, что обрабатываются в текущий момент.
Функция Join поставляется с пакетом bytes, что нужен для объединения байтов.

Администрирую данный сайт с целью распространения как можно большего объема обучающего материала для языка программирования Go. В IT с 2008 года, с тех пор изучаю и применяю интересующие меня технологии. Проявляю огромный интерес к машинному обучению и анализу данных.
E-mail: vasile.buldumac@ati.utm.md
Образование
Технический Университет Молдовы (utm.md), Факультет Вычислительной Техники, Информатики и Микроэлектроники
- 2014 — 2018 Universitatea Tehnică a Moldovei, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
- 2018 — 2020 Universitatea Tehnică a Moldovei, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»