Sobes.tech
Senior

Mi a string a Go-ban? Mit képviselnek a motorháztető alatt?

sobes.tech MI

Válasz az MI-től

Go nyelvben a string egy változatlan bájtokból álló sorozat, amely általában UTF-8 kódolású szöveget reprezentál. A háttérben a stringet egy két mezőből álló struktúraként valósítják meg: egy mutató egy bájt tömbre és egy hossz. Ez azt jelenti, hogy a string egy bájtok szelete, de tartalmának módosítására nincs lehetőség.

Belső reprezentáció példája (egyszerűsítve):

// type stringStruct struct {
//     ptr *byte
//     len int
// }

Az immutabilitás miatt minden, a tartalmat módosító művelet új stringet hoz létre. Ez fontos szempont nagy stringek esetén a teljesítmény optimalizálása érdekében.