"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como eu itera sobre as cordas de runas em Go?

Como eu itera sobre as cordas de runas em Go?

Postado em 2025-03-24
Navegar:466

How Do I Iterate Over Strings by Runes in Go?

iterando sobre seqüências de strings por runas em go

em go, ao tentar iterar uma sequência usando índices, você pode encontrar um problema em que o str [i] retorna um byte em vez de um rune. Isso ocorre porque as seqüências de strings no Go são sequências de bytes, não runas. Por exemplo:

para pos, char: = range "日本語" { fmt.printf ("caractere %c começa na posição de byte %d \ n", char, pos) }

for pos, char := range "日本語" {
    fmt.Printf("character %c starts at byte position %d\n", char, pos)
}

caractere 日 inicia na posição de byte 0 Personagem 本 começa na posição 3 do byte O caractere 語 inicia na posição 6 do byte 6

character 日 starts at byte position 0
character 本 starts at byte position 3
character 語 starts at byte position 6

itera de 0 para o comprimento da string
  • para cada posição, extrai o run em essa posição usando o utf-8 encobing
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3