Junior — Middle
El tudná magyarázni, hogyan valósul meg a karakterlánc szerkezete a programozásban, és miből áll?
sobes.tech MI
Válasz az MI-től
Go-ban a string egy változtathatatlan bájt-sorozat, amely általában UTF-8 kódolású szöveget reprezentál. Belsőleg a string két mezővel rendelkező struktúraként van megvalósítva: egy mutatóval egy bájt tömbre és egy hosszúsággal.
Egyszerűsített string struktúra példája Go-ban:
// stringHeader — belső string struktúra
import "reflect"
var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — mutató a bájtokra
// header.Len — a string hossza
A Go-ban a stringek változtathatatlanok, így minden olyan művelet, ami módosítja a stringet, új másolatot hoz létre.