Приведи пример потенциальных альтернативных вариантов создания строк

«Приведи пример потенциальных альтернативных вариантов создания строк» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go строки можно создавать несколькими способами:

  1. Литеральная строка:
s := "Hello, World!"
  1. Через string() из среза байт:
b := []byte{72, 101, 108, 108, 111}
s := string(b) // "Hello"
  1. Через string() из среза рун:
r := []rune{'П', 'р', 'и', 'в', 'е', 'т'}
s := string(r) // "Привет"
  1. Конкатенация:
s1 := "Hello"
s2 := "World"
s := s1 + ", " + s2 + "!"
  1. Через strings.Builder (эффективно для множественных конкатенаций):
var builder strings.Builder
builder.WriteString("Hello")
builder.WriteString(", ")
builder.WriteString("World!")
s := builder.String()
  1. Используя fmt.Sprintf():
name := "Alice"
s := fmt.Sprintf("Hello, %s!", name)