试一试:为什么没有数组索引超出范围例外?

时间:2019-07-24 19:08:46

标签: go slice

package main

import (
    "fmt"
)

func main() {
    numbers := [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

    fmt.Println(numbers[3:]) //[3 4 5 6 7 8 9]
    fmt.Println(numbers[9:]) // [9]
    fmt.Println(cap(numbers)) // 9

    fmt.Println(numbers[10:]) // []
    //Why is this not throwing index out of bounds exception? 
    //The underlying array of the slice has no index 10

}

我正在使用切片,并且好奇为什么当我从数组的长度开始切片时,为什么没有将索引超出范围。我重新阅读了文档,但找不到答案。非常感谢。

https://play.golang.org/p/IcjnZFbOOBX

0 个答案:

没有答案