Sobes.tech
Назад к вопросам
Principal
13

Как посчитать количество символов (рун) в строке на Go?

Компании, где спрашивали
ArendadataArendadata

Ответ от нейросети

sobes.tech AI

В Go для подсчёта количества символов (рун) в строке нужно учитывать, что строка — это последовательность байтов в UTF-8, а руны — это Unicode-кодовые точки. Количество байтов и количество рун может отличаться.

Чтобы посчитать количество рун, можно использовать функцию utf8.RuneCountInString из пакета unicode/utf8:

import (
    "fmt"
    "unicode/utf8"
)

func main() {
    s := "Привет, мир!"
    count := utf8.RuneCountInString(s)
    fmt.Println("Количество рун:", count)
}

Этот способ корректно считает количество символов, включая многобайтовые руны.