AdSense

網頁

2024/3/18

Golang 避免index out of range錯誤

Go以index(索引)從slice取值時,避免panic: runtime error: index out of range [x] with length [y]錯誤。


在slice長度未知的情況下,判斷slice的長度大於index值時才取值。

main.go

package main

import (
    "fmt"
    "math/rand"
)

func main() {
    index := 2
    ints := getInts() // random length slice
    fmt.Printf("ints=%v\n", ints)

    if len(ints) > index {
        fmt.Println(ints[index])
    }
}

func getInts() []int {
    n := rand.Intn(5)
    ints := make([]int, 0)
    for i := 0; i < n; i++ {
        ints = append(ints, i)
    }
    return ints
}

沒有留言:

AdSense