concatinate strings

This commit is contained in:
dreddsa5dies committed 2022-02-09 12:17:11 +03:00
1 parent d6bb099dac
commit 6206fc9c62
2 files changed
+16 -2

No files matched your search

+15 -1
View File
@@ -2,7 +2,21 @@
### <a name="1"></a> 1. Что из себя представляет тип данных string в языке Golang? Можно ли изменить определенный символ в строке? Что происходит при склеивании строк?
Строка Go - это байтовый срез, предназначенный только для чтения, который может содержать байты любого типа и иметь произвольную длину. Строка неизменяемая и изменить определенный символ в конкретной строке нельзя. Создается новая строка (в простейшем случае).
Строка Go - это байтовый срез, предназначенный только для чтения, который может содержать байты любого типа и иметь произвольную длину. Строка неизменяемая и изменить определенный символ в конкретной строке нельзя. Создается новая строка (в простейшем случае).
### <a name="2"></a> 2. Вытекающий вопрос — как эффективно склеивать множество строк?
Например, чтобы избавиться от лишних аллокаций, можно воспользоваться типом strings.Builder и методом WriteString:
```go
func join(strs ...string) string {
var sb strings.Builder
for _, str := range strs {
sb.WriteString(str)
}
return sb.String()
}
```
И никто не мешает пользоваться пакетом strings.
### <a name="8"></a> 8. Как задать направление канала?