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