Sobes.tech
Junior — Middle

Můžete vysvětlit, jak je v programování implementována struktura řetězce a z čeho se skládá?

sobes.tech AI

Odpověď od AI

V jazyce Go je řetězec (string) nemměnitelná posloupnost bajtů, obvykle představující text v kódování UTF-8. Interně je řetězec implementován jako struktura se dvěma poli: ukazatelem na pole bajtů a délkou.

Příklad zjednodušené struktury řetězce v Go:

// stringHeader — interní struktura řetězce
import "reflect"

var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — ukazatel na bajty
// header.Len — délka řetězce

Řetězce v Go jsou neměnitelné, takže jakákoli operace, která řetězec mění, vytvoří novou kopii.