Senior
Čo sú reťazce v Go? Čo predstavujú pod kapotou?
sobes.tech AI
Odpoveď od AI
V jazyce Go je reťazec (string) nemenná sekvencia bajtov, ktorá zvyčajne predstavuje text v kódovaní UTF-8. Na pozadí je reťazec implementovaný ako štruktúra so dvoma poľami: ukazovateľom na pole bajtov a dĺžkou. To znamená, že reťazec je výrez bajtov, ale bez možnosti zmeny obsahu.
Príklad interného zobrazenia (zjednodušené):
// type stringStruct struct {
// ptr *byte
// len int
// }
Vďaka nemennosti akékoľvek operácie, ktoré menia obsah, vytvárajú nový reťazec. To je dôležité vziať do úvahy pri práci s veľkými reťazcami na optimalizáciu výkonu.