Junior
74
questionbank

Как можно работать со строками в языке Go?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Строки в Go являются неизменяемыми последовательностями байт. Они могут представлять как текст UTF-8, так и произвольные двоичные данные.

Основные способы работы:

  • Объявление и инициализация:

    go
  • Длина строки:

    go
  • Доступ к байтам:

    go

    Прямой доступ к байтам не гарантирует получение символа UTF-8.

  • Доступ к рунам (символам UTF-8): Строки можно итерировать по рунам:

    go

    Длина в рунах:

    go
  • Конкатенация строк:

    go

    Для эффективной конкатенации большого числа строк используйте strings.Builder.

    go
  • Преобразование между строками и срезами байт/рун:

    go
  • Модуль strings: Предоставляет множество полезных функций:

    • Contains, HasPrefix, HasSuffix
    • Index, LastIndex
    • Replace, ToUpper, ToLower, Trim, TrimSpace
    • Split, Join
  • Модуль strconv: Для преобразования строк в другие типы данных (числа, булевы) и обратно.

    go
  • Неизменяемость: Любые операции, кажущиеся изменением строки (например, конкатенация), на самом деле создают новую строку. Это важно учитывать для производительности при частых изменениях. В таких случаях лучше использовать []byte или strings.Builder.