Sobes.tech
Principal

Kaip suskaičiuoti simbolių (runų) skaičių eilutėje Go?

sobes.tech AI

Atsakymas iš AI

Go kalboje, norint suskaičiuoti simbolių (rune) skaičių eilutėje, reikia atsižvelgti, kad eilutė yra baitų seka UTF-8 formatu, o rune yra Unicode kodų taškai. Baitų skaičius ir rune skaičius gali skirtis.

Norint suskaičiuoti rune skaičių, galima naudoti funkciją utf8.RuneCountInString iš paketo unicode/utf8:

import (
    "fmt"
    "unicode/utf8"
)

func main() {
    s := "Привет, мир!"
    count := utf8.RuneCountInString(s)
    fmt.Println("Rune skaičius:", count)
}

Šis būdas teisingai suskaičiuoja simbolių skaičių, įskaitant daugia-byte rune.