Sobes.tech
Junior — Middle

Milyen értéket ad vissza a len függvény, ha egy karakterlánc típusú adaton alkalmazzuk?

sobes.tech MI

Válasz az MI-től

Go nyelven, amikor a len függvényt alkalmazzuk egy stringre, az visszaadja a string bájtok számát, nem a karakterek (rune-ok) számát. Ez azért van, mert a Go-ban a stringek UTF-8 formátumban vannak tárolva, ahol egy karakter több bájtot is elfoglalhat.

Példa:

s := "Привет"
fmt.Println(len(s)) // Megmutatja a bájtok számát, például 12

Ha a karakterek (rune-ok) számát szeretnéd megtudni, akkor a stringet rune szeletté kell alakítani:

fmt.Println(len([]rune(s))) // Megmutatja a karakterek számát, például 6