GO语言基础-for语句特性,字符串循环的一个小问题

GO语言for与其他语言for循环没有太大差别,只是通过条件的不同(range表达式)融合了其它语言的while/foreach等循环。

GO语言基础-for语句特性,字符串循环的一个小问题

  • string底层实际是一个[]rune的切片,因此也可以直接range循环。
  • 对于string类型来说,如果你将它转换成一个[]byte的切片,那么如果遇到中文字符,他实际的循环出的index的值会比你预期的大,因为一个中文字符占3个字节。
  • 对于string类型来说,如果你将它转换成一个[]rune类型的切片,那么得到的index是连续的索引。

GO语言基础-for语句特性,字符串循环的一个小问题