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
}
沒有留言:
張貼留言