golang切片

func main() {
arr := [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
s1 := arr[2:6]
//难点一:
s3 := s1[3:5]
fmt.Println(s1, len(s1), cap(s1))
//[2 3 4 5]
fmt.Println(s3)
//[5 6]
fmt.Println(s1[4])
//越界错误
//1.切片的时候,可以越界,因为底层的arr是存在的,s1是个view
//2.下标不能大于len,向后扩展不能超越底层数组cap(arr)
//3.任何对切片的操作,都会下钻到这个数组,如果没有拷贝到新的,都造成影响
//4.nil切片可以append
}



posted @ 2022-07-19 00:10  陈一风  阅读(45)  评论(0编辑  收藏  举报