恐慌:运行错误:索引出的范围[5]与长度5[封闭]

0

的问题

我写了这个程序,

package main

import "fmt"

func main() {
    x := "Hello"

    for i := 0; i <= 10; i++ {
        fmt.Printf("%#U\n", x[i])
    }
}

https://go.dev/play/p/yrMu2hlAvkZ

panic: runtime error: index out of range [5] with length 5

我知道为什么它给的错误,这是由于条件的循环 i<=10 如果我删除了 = 它将不给我错误。

但是,让我们说,我要代码也在这样一种方式,我不会得到错误,如果我仍然可以使用 i<=10. 怎么可以这样做?

for-loop go
2021-11-24 04:33:54
2

最好的答案

1

我要代码也在这样一种方式,我不会得到错误,如果我仍然可以使用 "我<=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

2021-11-24 06:11:58
0

你可以改变你的条件,从 i <= 10

i <= 4 // 4 is the last index of your string

或者你可以增加你的串的长度,从 x := "Hello"

x := "Hello World"
2021-11-24 05:52:29

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................