只是使用两种简单的方法来迭代Go中的字符串.第一种似乎是正确的,但第二种方式是从-97开始的减号.有人知道为什么吗?
func main() {
str := "abc"
for i := 0; i < len(str) ; i++ {
println(str[i] - 'a')
}
for x := range str {
println(x - 'a')
}
}
Run Code Online (Sandbox Code Playgroud)
结果是 -
0
1
2
-97
-96
-95
Run Code Online (Sandbox Code Playgroud)
for x := range str {
println(x - 'a')
}
Run Code Online (Sandbox Code Playgroud)
x包含字母的索引
你想要做的是获取范围返回的第二个值并忽略第一个值
for _, x := range str {
println(x - 'a')
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39 次 |
| 最近记录: |