Junior — Middle
Quale informazione restituisce la funzione len durante l'elaborazione di una stringa?
sobes.tech AI
Risposta dell'AI
Nel linguaggio Go, la funzione len applicata a una stringa restituisce il numero di byte in questa stringa, non il numero di caratteri (rune).
Ciò è dovuto al fatto che le stringhe in Go sono memorizzate in formato UTF-8, dove un carattere può occupare da 1 a 4 byte. Pertanto, len restituisce la lunghezza in byte.
Esempio:
package main
import (
"fmt"
)
func main() {
s := "Привет" // parola in russo
fmt.Println(len(s)) // Mostrerà il numero di byte, ad esempio 12
}
Se si desidera ottenere il numero di caratteri (rune), bisogna convertire la stringa in un slice di rune:
runes := []rune(s)
fmt.Println(len(runes)) // Mostrerà il numero di caratteri, ad esempio 6
Quindi, len per una stringa è la lunghezza in byte, non in caratteri.