Sobes.tech
Назад к вопросам
Junior — Middle
97

Как осуществляется обработка и управление строковыми данными в языке Go?

Компании, где спрашивали
Эрливидео
СамокатСамокат
GsmSoft

Ответ от нейросети

sobes.tech AI

В языке Go строки представлены типом string, который является неизменяемой последовательностью байтов в кодировке UTF-8. Основные особенности и подходы к работе со строками:

  • Неизменяемость: строки нельзя изменить после создания. Для изменения нужно создавать новые строки.
  • Работа с Unicode: поскольку строки в UTF-8, для работы с символами (рунами) используют тип rune.
  • Конкатенация: строки можно объединять с помощью оператора +.
  • Преобразование в срез байтов или рун: для манипуляций с отдельными символами или байтами.
  • Пакет strings: содержит множество функций для поиска, замены, разбиения и других операций со строками.

Пример обработки строки в Go:

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := "Привет, мир"
    fmt.Println("Длина строки в байтах:", len(s))

    // Преобразование в срез рун для подсчёта символов
    runes := []rune(s)
    fmt.Println("Количество символов:", len(runes))

    // Проверка наличия подстроки
    if strings.Contains(s, "мир") {
        fmt.Println("Строка содержит 'мир'")
    }

    // Замена подстроки
    newStr := strings.ReplaceAll(s, "мир", "Go")
    fmt.Println(newStr)
}