方法:首先使用for语句遍历字符串,语法“for i := 0; i < len(字符串变量); i++{}”或“for _, s := range 字符串变量{}”;然后在循环体“{}”里使用“fmt.Printf()”函数逐一输出即可。
本教程操作环境:windows10系统、GO 1.11.2、Dell G3电脑。
Go语言遍历字符串——获取每一个字符串元素
遍历每一个ASCII字符
遍历 ASCII 字符使用 for 的数值循环进行遍历,直接取每个字符串的下标获取 ASCII 字符,如下面的例子所示。
package main import "fmt" func main() { theme := "hello php中文网" for i := 0; i < len(theme); i++ { fmt.Printf("ascii: %c %dn", theme[i], theme[i]) } }
程序输出如下:
ascii: h 104 ascii: e 101 ascii: l 108 ascii: l 108 ascii: o 111 ascii: 32 ascii: p 112 ascii: h 104 ascii: p 112 ascii: ä 228 ascii: ¸ 184 ascii: 173 ascii: æ 230 ascii: 150 ascii: 135 ascii: ç 231 ascii: ½ 189 ascii: 145
这种模式下取到的汉字“惨不忍睹”。由于没有使用 Unicode,汉字被显示为乱码。
按Unicode字符遍历字符串
同样的内容:
package main import "fmt" func main() { theme := "hello php中文网" for _, s := range theme { fmt.Printf("Unicode: %c %dn", s, s) } }
程序输出如下:
Unicode: h 104 Unicode: e 101 Unicode: l 108 Unicode: l 108 Unicode: o 111 Unicode: 32 Unicode: p 112 Unicode: h 104 Unicode: p 112 Unicode: 中 20013 Unicode: 文 25991 Unicode: 网 32593
可以看到,这次汉字可以正常输出了。
总结
-
ASCII 字符串遍历直接使用下标。
-
Unicode 字符串遍历用 for range。
推荐学习:Golang教程