赞
踩
结论:
1. 数组的单个元素访问时,下标范围[0,len()-1]
2. 数组的切片访问时,下标范围[0,len()]
实验结果如下图:
代码如下:
- package main
- import "fmt"
- func main() {
- // 长度为3
- a := []int{1, 2, 3}
- // 单个元素
- {
- // 起始地址从2开始,正常操作,b的值为3
- b := a[2]
- fmt.Println("b:", b)
- // 起始地址从3开始,会出错,产生下标超出范围的崩溃,暂时注释掉
- //c := a[3]
- //fmt.Println("c:", c)
- }
- // 切片下标访问
- {
- // 起始地址从2开始,正常操作,b为1个元素的切片
- b := a[2:]
- fmt.Println("b:", b)
- // 起始地址从3开始,不会出错,c为空的切片
- c := a[3:]
- fmt.Println("c:", c)
- // 起始地址从4开始,会出错,产生下标超出范围的崩溃
- d := a[4:]
- fmt.Println("d:", d)
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。