Sobes.tech
Junior — Middle

¿Qué información devuelve la función len al procesar una cadena?

sobes.tech AI

Respuesta de la IA

En el lenguaje Go, la función len aplicada a una cadena devuelve la cantidad de bytes en esa cadena, no la cantidad de caracteres (runes).

Esto se debe a que las cadenas en Go se almacenan en formato UTF-8, donde un carácter puede ocupar de 1 a 4 bytes. Por lo tanto, len devuelve la longitud en bytes.

Ejemplo:

package main
import (
    "fmt"
)

func main() {
    s := "Привет" // palabra en ruso
    fmt.Println(len(s)) // Mostrará la cantidad de bytes, por ejemplo 12
}

Si necesitas obtener la cantidad de caracteres (runes), debes convertir la cadena en un slice de runas:

runes := []rune(s)
fmt.Println(len(runes)) // Mostrará la cantidad de caracteres, por ejemplo 6

Por lo tanto, len para una cadena es la longitud en bytes, no en caracteres.