Junior — Middle
Quelle valeur renvoie la méthode length lorsqu'elle est appelée sur une chaîne ?
sobes.tech IA
Réponse de l'IA
En Go, la méthode len lorsqu'elle est appelée sur une chaîne retourne le nombre d'octets dans la chaîne, et non le nombre de caractères. Cela est dû au fait que les chaînes en Go sont des séquences d'octets encodées en UTF-8. Si la chaîne ne contient que des caractères ASCII, le nombre d'octets correspond au nombre de caractères. Mais si la chaîne contient des caractères multilingues, chacun peut occuper plusieurs octets.
Exemple :
package main
import (
"fmt"
)
func main() {
s := "Привет"
fmt.Println(len(s)) // Affichera le nombre d'octets, par exemple 12
}
Pour compter le nombre de caractères (runes), il faut utiliser la fonction utf8.RuneCountInString du paquet unicode/utf8.