Sobes.tech
Principal

Jak spočítat počet znaků (run) v řetězci v Go?

sobes.tech AI

Odpověď od AI

V jazyce Go, pro spočítání počtu znaků (rune) v řetězci je třeba vzít v úvahu, že řetězec je posloupností bajtů v UTF-8 a rune jsou Unicode body. Počet bajtů a počet rune se může lišit.

Pro spočítání počtu rune můžete použít funkci utf8.RuneCountInString z balíčku unicode/utf8:

import (
    "fmt"
    "unicode/utf8"
)

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

Tato metoda správně spočítá počet znaků, včetně vícibajtových rune.