回答

收藏

如何通过 Go 中的符文遍历字符串?

技术问答 技术问答 279 人阅读 | 0 人回复 | 2023-09-12

我想要这个:, \& p4 N( r, N& G6 J& y# K

    - m, F8 i* W3 G0 y! e
  • for i := 0; i 但事实证明,它str具有类型byte( uint8) 而不是rune。
    4 D' `( A1 }; P7 p7 r1 u
  • 如何通过符文而不是字节遍历字符串?
    7 g  z6 I2 }. \2 w. B+ R
  •                                                                0 z3 I; O* _8 L4 m) h3 y. h2 [' O. D
  •     解决方案:                                                               ; H5 w8 G1 f9 O( k9 ~5 Z. b% C8 I1 p
  •                                                                 请参阅Effective Go 中的这个例子:[code]for pos,char := range "日本语" {    fmt.Printf("character %c starts at byte position %d\n",char,pos)}5 ]% f) u& `- c. `  K
这打印:; j0 ^7 d$ D! P" |
    character 日 starts at byte position 0character 本 starts at byte position 3character 语 starts at byte position 6
    ( D5 H/ [  u: F/ b8 ]0 C
通过分析 UTF-8 分解单个 Unicode 代码点。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则