Обрезка имени должна резать по границам букв, а для этого нужен байтовый индекс руны. Реализуйте byteIndex: верните байтовый индекс, с которого начинается i-я руна, либо false, если такой руны нет. Его нельзя вычислить как i без сканирования.
- Задача
- Решение
- Обсуждение
ByteIndex: байтовый индекс i-й руны
GolangРешение
func byteIndex(s string, i int) (int, bool) {
n := 0
for idx := range s {
if n == i {
return idx, true
}
n++
}
return 0, false
}