황:런타임 오류:인덱스의 범위는[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

내가 원하는 코드에서는 방법으로 나가지 않습러면 저는 여전히 사용 "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

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ý
..................................................................................................................