美文网首页
Go语言编程--笔记2018-04-10

Go语言编程--笔记2018-04-10

作者: 雷神VeryYoung | 来源:发表于2018-04-10 15:26 被阅读0次

    书中35页谈到 基于数组切片创建数组切片 的时候

    4. 基于数组切片创建数组切片

    类似于数组切片可以基于一个数组创建,数组切片也可以基于另一个数组切片创建。下面的

    例子基于一个已有数组切片创建新数组切片:

    oldSlice := []int{1, 2, 3, 4, 5}

    newSlice := oldSlice[:3] // 基于oldSlice的前3个元素构建新数组切片

    有意思的是,选择的oldSlicef元素范围甚至可以超过所包含的元素个数,比如newSlice

    可以基于oldSlice的前6个元素创建,虽然oldSlice只包含5个元素。只要这个选择的范围不超

    过oldSlice存储能力(即cap()返回的值),那么这个创建程序就是合法的。newSlice中超出

    oldSlice元素的部分都会填上0。

    其中 有意思的是 开始我在实际实践中,如果newSlice := oldSlice[:3]改成newSlice := oldSlice[:6]会报错:panic: runtime error: slice bounds out of range

    相关文章

      网友评论

          本文标题:Go语言编程--笔记2018-04-10

          本文链接:https://www.haomeiwen.com/subject/dncnhftx.html