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.