Pánico: error de tiempo de ejecución: índice fuera de rango [5] con una longitud de 5 [cerrado]

0

Pregunta

Escribí este programa,

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

Yo sé la razón por la que está dando el error, es debido a la condición en bucle for i<=10 y si puedo quitar el = no me da el error.

Pero digamos que yo quiero el código de tal manera que no me de errores si puedo usar i<=10. ¿Cómo se puede hacer?

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

Mejor respuesta

1

Quiero el código de tal manera que no me de error si puedo usar "i<=10". ¿Cómo se puede hacer?

Usted puede de manera segura bucle como este,

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 este,

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

Usted puede cambiar su condición, de i <= 10 a

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

o usted puede aumentar su longitud de cadena, de x := "Hello" a

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

En otros idiomas

Esta página está en otros idiomas

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