使用两种简单的方法来迭代Go中的字符串。第一种似乎是正确的,但第二种方式是从-97开始的减号。有人知道为什么吗?
func main() {
str := "abc"
for i := 0; i < len(str) ; i++ {
println(str[i] - 'a')
}
for x := range str {
println(x - 'a')
}
}
结果是 -
0
1
2
-97
-96
-95
答案 0 :(得分:5)
for x := range str {
println(x - 'a')
}
x包含字母索引
您要做的是获取范围返回的第二个值并忽略第一个
for _, x := range str {
println(x - 'a')
}