ตื่นตระหน:runtime เกิดข้อผิดพลาด:ดัชนีออกนอกระยะทาง[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ý
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่