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.