Sobes.tech
Junior — Middle

Обяснете концепцията за тип низ в езика Go и неговите основни характеристики.

sobes.tech AI

Отговор от AI

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

Основните характеристики на низовете в Go:

  • Неизменяемост: След създаването си, низът не може да бъде променян. Всяка операция, която променя низа, създава нов.
  • UTF-8 кодиране: Низовете се съхраняват в UTF-8, което позволява работа с многоезичен текст.
  • Достъп по байтове: Индексирането на низ връща байт, а не символ (rune). За работа със символи се използва типът rune.
  • Поддръжка на срезове: Могат да се получават поднизове чрез срезове, например s[0:5].

Пример за работа с низове и руни:

s := "Привет"
fmt.Println(len(s)) // брой байтове
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // показва индекса на байта и символа
}

Така, низовете в Go са удобен и ефективен начин за работа с текст, но е важно да се разбира разликата между байтове и символи.