Index: doc/go_spec.html =================================================================== --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -1,6 +1,6 @@ @@ -839,7 +839,7 @@
-A slice is a descriptor for a contiguous segment of an array and
+A slice is a descriptor for a contiguous segment of an underlying array and
provides access to a numbered sequence of elements from that array.
A slice type denotes the set of all slices of arrays of its element type.
The value of an uninitialized slice is nil
.
@@ -879,26 +879,18 @@
made using the built-in function
make
,
which takes a slice type
-and parameters specifying the length and optionally the capacity:
-
-make([]T, length) +and parameters specifying the length and optionally the capacity. +A slice created withmake
always allocates a new, hidden array +to which the returned slice value refers. That is, executing + + +make([]T, length, capacity)-A call to
- -make
allocates a new, hidden array to which the returned -slice value refers. That is, executing --make([]T, length, capacity) -- --produces the same slice as allocating an array and slicing it, so these two examples -result in the same slice: +produces the same slice as allocating an array and slicing +it, so these two expressions are equivalent:
@@ -910,8 +902,8 @@ Like arrays, slices are always one-dimensional but may be composed to construct higher-dimensional objects. With arrays of arrays, the inner arrays are, by construction, always the same length; -however with slices of slices (or arrays of slices), the lengths may vary dynamically. -Moreover, the inner slices must be allocated individually (withmake
). +however with slices of slices (or arrays of slices), the inner lengths may vary dynamically. +Moreover, the inner slices must be initialized individually.Struct types
@@ -2707,7 +2699,8 @@If the sliced operand of a valid slice expression is a
nil
slice, the result -is anil
slice. +is anil
slice. Otherwise, the result shares its underlying array with the +operand.Full slice expressions
@@ -5361,9 +5354,9 @@If the capacity of
s
is not large enough to fit the additional -values,append
allocates a new, sufficiently large slice that fits -both the existing slice elements and the additional values. Thus, the returned -slice may refer to a different underlying array. +values,append
allocates a new, sufficiently large underlying +array that fits both the existing slice elements and the additional values. +Otherwise,append
re-uses the underlying array.