Sobes.tech
Junior — Middle

Vysvětlete koncept typu řetězce v jazyce Go a jeho hlavní vlastnosti.

sobes.tech AI

Odpověď od AI

V jazyce Go typ string představuje neměnitelnou posloupnost bajtů, která se obvykle používá k ukládání textu v kódování UTF-8.

Hlavní vlastnosti řetězců v Go:

  • Neměnitelnost: Po vytvoření řetězce nelze jej změnit. Operace, které řetězec mění, vytvářejí nový řetězec.
  • Kódování UTF-8: Řetězce jsou uloženy v UTF-8, což umožňuje práci s vícejazyčným textem.
  • Přístup po bajtech: Indexování řetězce vrací bajt, nikoli znak (rune). Pro práci se znaky se používá typ rune.
  • Podpora řezů: Lze získat podřetězce pomocí řezů, například s[0:5].

Příklad práce s řetězci a runami:

s := "Привет"
fmt.Println(len(s)) // počet bajtů
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // vypíše index bajtu a znak
}

Proto jsou řetězce v Go pohodlným a efektivním způsobem práce s textem, ale je důležité pochopit rozdíl mezi bajty a znaky.