Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
s := "héllo"
fmt.Println(len(s), utf8.RuneCountInString(s))
}6 5
- Ждать
5 5:lenсчитает байты, а не символы, аéзанимает в UTF-8 два байта, поэтому длина строки — 6 байт. - Ждать по два байта на каждую букву: строки Go хранят UTF-8, где латинская буква занимает один байт, а
é— два.
- Какой тип и какое значение у
s[1]для этой строки? - Что вернёт
len([]rune(s))и почему?