我寫了這個程序,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 關注
- 241 瀏覽
添加回答
舉報
0/150
提交
取消