我写了这个程序,package mainimport "fmt"func main() {
x := "Hello"
for i := 0; i <= 10; i++ {
fmt.Printf("%#U\n", x[i])
}}https://go.dev/play/p/yrMu2hlAvkZpanic: runtime error: index out of range [5] with length 5我知道它给出错误的原因,这是由于 for 循环中的条件,i<=10如果我删除=它不会给我错误。但是,假设我想以这样一种方式对其进行编码,即如果我仍然使用i<=10. 怎么做到呢?
2 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
我想以这样的方式编码它,如果我仍然使用“i <= 10”,我不会出错。怎么做到呢?
你可以像这样安全地循环,
package main
import "fmt"
func main() {
x := "Hello"
for i := 0; i <= 10 && i < len(x); i++ {
fmt.Printf("%#U\n", x[i])
}
}
https://go.dev/play/p/2NknjS3Ql6k
或这个,
package main
import "fmt"
func main() {
x := "Hello"
for i := 0; i <= 10; i++ {
fmt.Printf("%#U\n", x[i%len(x)])
}
}
https://go.dev/play/p/0eKTcxXipwB
互换的青春
TA贡献1797条经验 获得超6个赞
你可以改变你的条件,i <= 10
从
i <= 4 // 4 is the last index of your string
或者你可以增加你的字符串长度,从x := "Hello"
到
x := "Hello World"
- 2 回答
- 0 关注
- 192 浏览
添加回答
举报
0/150
提交
取消