Junior
Mit jelent a string adattípus a Golang nyelvben?
sobes.tech MI
Válasz az MI-től
A Golangban a string egy változatlan bájtokból álló sorozat.
Fő jellemzők:
- Változatlanság: Egy string létrehozása után nem módosítható. Bármilyen művelet, ami módosítja a stringet, valójában egy újat hoz létre.
- Ábrázolás: A string bájtok sorozatát tartalmazza. Alapértelmezés szerint a Golang feltételezi, hogy ezek a bájtok UTF-8 kódolt szöveget képviselnek.
- Hossz: A string hossza (
len(s)) visszaadja a bájtok számát a stringben, nem a runák (szimbólumok) számát. - Indexelés: A string elemeihez index segítségével férhetünk hozzá (
s[i]), ami az adott indexű bájtot adja. - Runák: A karakterekkel (runákkal) való munka érdekében a
for rangeciklussal iterálunk a stringen, amely dekódolja a UTF-8-at és biztosítja a runákat és azok indexeit.
Példa:
// String inicializálása
s := "Привет, мир!" // 23 bájt, 12 runa
// A string hossza (byte-ban)
byteLength := len(s) // 23
// Az első bájt elérése index segítségével
firstByte := s[0] // firstByte = 208 (bájt a 'П'-hez UTF-8-ban)
// Iterálás runákon
runeCount := 0
for index, runeValue := range s {
// index - a runa kezdő indexe a stringben (byte-ban)
// runeValue - a dekódolt runa
runeCount++
}
// runeCount = 12