Sobes.tech
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.