golang конкатенация строк

Пользователь

от julian , в категории: Общие вопросы , 4 года назад

Знаю, что конкатенацию строк в Golang’е можно делать с помощью арифметического знака “+”, а как ещё это сделать, не используя этот знак? Если можно, дайте пример кода.


Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

9 ответов

Пользователь

от genesis_tillman , 4 года назад

Мне больше нравится вот такой метод чем через плюс


1
2
3
4
5
6
7
8
9
 var b bytes.Buffer 
      
 b.WriteString("H) 
 b.WriteString("e") 
 b.WriteString("l") 
 b.WriteString("l") 
 b.WriteString("o") 
      
 fmt.Println("String: ", b.String()) 

Пользователь

от gracie , 4 года назад

В Golang 1.10 появился новый тип конкатенации строк strings.builder. Подробнее про него можешь почитать на яндекс дзен, год назад вышла статья, так что актуальности этого метода не исчезла.


Пользователь

от herminio , 4 года назад

Пару лет на хабре видел интересную статью – Ускорение конкатенации строк в Go своими руками. Там идёт сравнение “+” и strings.builder. Довольно интересная статья, в конце даже немного ассемблера будет.)


Пользователь

от gracie , 4 года назад

Вот тебе пример самой простой конкатенации. Объединение строк в массив, а потом их вывод с помощью цикла for))

Пользователь

от lauren , 4 года назад

На стаковерфлоу почти одиннадцать лет назад был создан топи по тому, как эффективно делать конкатенацию строк в Golangю. Зайди, почитай, есть полезная и интересная информация.


Пользователь

от brain.von , 4 года назад

Мне понравилась статья на кодинжиниринг про конкатенацию строк. Там очень много примеров и подсказок, при использовании данного метода. Так что зайди туда и посмотри.


Пользователь

от herminio , 4 года назад

Пакет строк включает в себя объединение метода для объединения нескольких строк:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
strings.Join(sample, " ")
	
Join объединяет элементы массива для создания одной строки. Второй параметр - это разделитель, который помещается между элементом массива.
package main
	
import ("fmt" "math" )"fmt" "strings")
	
func main() {
  greetings := []string{"Hello","world!"}  
  fmt.Println(strings.Join(greetings, " "))
}


Пользователь

от julian , 4 года назад

Спасибо за реальные примеры и сайты, на которых можно выудить нужную мне информацию. Буду сейчас читать всё это и просвещаться. Надеюсь, я смогу разобраться в этом. 


Пользователь

от brain.von , 4 года назад

На medium.com в прошлом году вышла довольно-таки спорная статья на тему обработки ошибок в Golang. Но всё же советую ознакомиться с этой статьёй. Единственная сложность – она на английском.