Rus*_*ist 19
切片在数组上有很多用途,其中一些海报已经提到过.
Ale*_*lli 13
在go,数组按值传递; 因此,要"通过引用传递",您使用切片.这还不是全部!引用Go的教程:
数组的大小是其类型的一部分; 然而,人们可以声明一个切片变量,向其中一个可以一个指针分配给任何阵列相同的元素类型或-更共同的切片的形式表达的[低:高],表示通过低索引的子阵列高1.切片看起来很像数组,但没有明确的大小([]与[10]),它们引用了一个底层的,通常是匿名的常规数组.如果多个切片表示相同阵列的片段,则它们可以共享数据; 多个阵列永远不能共享数据.
切片在Go程序中比常规数组更常见; 它们更灵活,具有引用语义,并且是高效的.他们缺少的是对常规阵列的存储布局的精确控制; 如果要在结构中存储数百个数组元素,则应使用常规数组.
将数组传递给函数时,您几乎总是希望将形式参数声明为切片.当你调用函数时,获取数组的地址,Go将创建(有效)切片引用并传递它.
| 归档时间: |
|
| 查看次数: |
3856 次 |
| 最近记录: |