Three-Index Slices in Go 1.2
With the release of Go 1.2, slices gained the ability to specify the capacity when performing a slicing operation. This doesn’t mean we can use this index to extend the capacity of the underlying array. It means we can create a new slice whose capacity is restricted. Restricting the capacity provides a level of protection to the underlying array and gives us more control over append operations.
Here are the release notes and design document for the feature request:
http://tip.golang.org/doc/go1.2#three_index (http://tip.golang.org/doc/go1.2#three_index)
https://docs.google.com/document/d/1GKKdiGYAghXRxC2BFrSEbHBZZgAGKQ-yXK-hRKBo0Kk/pub (https://docs.google.com/document/d/1GKKdiGYAghXRxC2BFrSEbHBZZgAGKQ-yXK-hRKBo0Kk/pub)
Let’s write some code to explore using the new capacity index. As with all my slice posts, I am going to use this InspectSlice function: