concatinate strings

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

View File

@@ -51,7 +51,7 @@
- coming soon - coming soon
6. [Вопросы по языку Golang](docs/GOLANG.md) 6. [Вопросы по языку Golang](docs/GOLANG.md)
- [Что из себя представляет тип данных string в языке Golang? Можно ли изменить определенный символ в строке? Что происходит при склеивании строк?](docs/GOLANG.md#1) - [Что из себя представляет тип данных string в языке Golang? Можно ли изменить определенный символ в строке? Что происходит при склеивании строк?](docs/GOLANG.md#1)
- Вытекающий вопрос как эффективно склеивать множество строк? - [Вытекающий вопрос как эффективно склеивать множество строк?](docs/GOLANG.md#2)
- Что будет происходить при конкурентной записи в map? Как можно решить эту проблему? - Что будет происходить при конкурентной записи в map? Как можно решить эту проблему?
- Расскажите о ООП в Golang. - Расскажите о ООП в Golang.
- В чем различия goroutine от потока системы? - В чем различия goroutine от потока системы?

View File

@@ -4,6 +4,20 @@
Строка 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. Как задать направление канала? ### <a name="8"></a> 8. Как задать направление канала?
Мы можем задать направление передачи сообщений в канале, сделав его только отправляющим или принимающим. Например: Мы можем задать направление передачи сообщений в канале, сделав его только отправляющим или принимающим. Например: