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