首页  >  文章  >  后端开发  >  如何在 Go 中通过 Runes 迭代字符串?

如何在 Go 中通过 Runes 迭代字符串?

Patricia Arquette
Patricia Arquette原创
2024-11-27 15:34:111003浏览

How Do I Iterate Over Strings by Runes in Go?

Go 中通过符文迭代字符串

在 Go 中,当尝试使用索引迭代字符串时,您可能会遇到以下问题: str[i] 返回一个字节而不是符文。这是因为 Go 中的字符串是字节序列,而不是符文。

要按符文迭代字符串,请使用 range 关键字。例如:

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

这将打印:

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

范围语法执行以下操作:

  • 从 0 迭代到字符串的长度
  • 对于每个位置,使用 UTF-8 提取该位置的符文编码

以上是如何在 Go 中通过 Runes 迭代字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn