方法:首先使用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 %d\n", 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 %d\n", 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。