🔴 Сложный · 3 очк. Строки и руны
Какой тип и значение у выражения s := "Го"; s[0]?
A rune, код буквы Г (1043)
B byte (uint8), первый байт UTF-8 (208)
C string, "Г"
D int32, 1043
Объяснение вопроса

Индексирование строки s[0] возвращает байт (тип uint8), а не символ. Буква "Г" в UTF-8 кодируется двумя байтами. Первый байт имеет значение 208 (0xD0). Поэтому тип выражения - byte/uint8, значение - 208. Для доступа к символам используйте []rune(s)[0] или итерацию for _, c := range s.

s := "Го"
fmt.Println(s[0])         // 208 (байт)
fmt.Printf("%c", s[0])    // некорректный вывод (половина символа)
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.