for _, r := range s даёт руны (кодовые точки) и корректно обрабатывает многобайтовые UTF-8 символы. Индекс в for i, r := range s - смещение в байтах начала руны. По индексу байта s[i] даёт байт (uint8).
for _, r := range s
for i, r := range s
s[i]