mirror of
https://github.com/goavengers/go-interview.git
synced 2026-02-04 04:36:19 +00:00
concatinate strings
This commit is contained in:
@@ -51,7 +51,7 @@
|
||||
- coming soon
|
||||
6. [Вопросы по языку Golang](docs/GOLANG.md)
|
||||
- [Что из себя представляет тип данных string в языке Golang? Можно ли изменить определенный символ в строке? Что происходит при склеивании строк?](docs/GOLANG.md#1)
|
||||
- Вытекающий вопрос — как эффективно склеивать множество строк?
|
||||
- [Вытекающий вопрос — как эффективно склеивать множество строк?](docs/GOLANG.md#2)
|
||||
- Что будет происходить при конкурентной записи в map? Как можно решить эту проблему?
|
||||
- Расскажите о ООП в Golang.
|
||||
- В чем различия goroutine от потока системы?
|
||||
|
||||
@@ -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. Как задать направление канала?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user