Для латинских ASCII-символов 'a' - 'A' равно 32. Это позволяет менять регистр только при проверке, что символ лежит в нужном диапазоне A–Z или a–z.
Чему равна разница 'a' - 'A' и зачем она нужна для преобразования регистра?
Для латинских ASCII-символов 'a' - 'A' равно 32. Это позволяет менять регистр только при проверке, что символ лежит в нужном диапазоне A–Z или a–z.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для латинских ASCII-символов 'a' - 'A' равно 32. Это позволяет менять регистр только при проверке, что символ лежит в нужном диапазоне A–Z или a–z.
Нельзя безусловно прибавлять 32 к любому символу: цифры, пунктуация и Unicode-буквы не подчиняются одному правилу. В Go для общего текста используйте unicode.ToLower для rune или strings.ToLower для строки. Арифметический приём подходит для явно ограниченного ASCII-алфавита, а не для произвольных имён и пользовательского текста.