Panico: errore di runtime: indice al di fuori dell'intervallo [5], con lunghezza di 5 [chiuso]

0

Domanda

Ho scritto questo programma,

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

Io so il motivo per cui si dà l'errore è dovuto alla condizione nel ciclo for i<=10 e se mi tolgo la = non mi danno l'errore.

Ma diciamo che voglio il codice, in modo che io non ottenere errori se io uso ancora i<=10. Come può essere fatto?

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

Migliore risposta

1

Voglio il codice, in modo che non vengo errore se io uso ancora "i<=10". Come può essere fatto?

Si può tranquillamente loop come questo,

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

O questo,

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

È possibile modificare la vostra condizione, da i <= 10 per

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

o è possibile aumentare la lunghezza della stringa, da x := "Hello" per

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

In altre lingue

Questa pagina è in altre lingue

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