Junior — Middle
¿Qué valor devuelve el método length cuando se llama a una cadena?
sobes.tech AI
Respuesta de la IA
En Go, el método len cuando se llama a una cadena devuelve la cantidad de bytes en la cadena, no la cantidad de caracteres. Esto se debe a que las cadenas en Go son secuencias de bytes en codificación UTF-8. Si la cadena contiene solo caracteres ASCII, la cantidad de bytes coincide con la cantidad de caracteres. Pero si hay caracteres multilingües, cada uno puede ocupar varios bytes.
Ejemplo:
package main
import (
"fmt"
)
func main() {
s := "Привет"
fmt.Println(len(s)) // Mostrará la cantidad de bytes, por ejemplo 12
}
Para contar la cantidad de caracteres (runes), se debe usar la función utf8.RuneCountInString del paquete unicode/utf8.